Python 正则表达式以排除后跟空格的单词
我尝试了很多解决方案,但无法让这个正则表达式工作 弦- “流量控制无”Python 正则表达式以排除后跟空格的单词,python,regex,Python,Regex,我尝试了很多解决方案,但无法让这个正则表达式工作 弦- “流量控制无” 我想排除“流控制”加上空白,只返回右边的任何内容。< /P> < P>如果你真的想要一个纯正则表达式,那么试试这个:(?< P>)如果你真的想要一个纯正则表达式,试试这个:(?< P>使用代码>分裂< /Cl> >如下: my_str = 'Flow Control None' out_str = my_str.split()[-1] # 'None' 或者使用re.findall: import re out_str =
我想排除“流控制”加上空白,只返回右边的任何内容。< /P> < P>如果你真的想要一个纯正则表达式,那么试试这个:<代码>(?< P>)如果你真的想要一个纯正则表达式,试试这个:<代码>(?< P>使用代码>分裂< /Cl> >如下:
my_str = 'Flow Control None'
out_str = my_str.split()[-1]
# 'None'
或者使用re.findall
:
import re
out_str = re.findall(r'^.*\s(\S+)$', my_str)[0]
像这样使用
split
:
my_str = 'Flow Control None'
out_str = my_str.split()[-1]
# 'None'
或者使用re.findall
:
import re
out_str = re.findall(r'^.*\s(\S+)$', my_str)[0]
由于您已使用
#python
和#regex
标记了您的问题,因此我将使用这些工具概述一个简单的问题解决方案。此外,其他两个答案并没有真正解决匹配的“流控制”
前缀的“右边的东西”的确切问题
re
内置模块()开始重新导入
^Flow Control
的“右侧的内容”((?P.+)$
)pattern=re.compile(r“^Flow Control(?P.+)$”)
“流量控制无”
)suffix=pattern.search(“流控制无”).group(“后缀”)
打印(后缀)#输出:无
希望这个完整的工作示例也能帮助您
重新导入
def get_后缀(文本:str):
模式=重新编译(r“^Flow Control(?P.+)$”)
匹配=模式。搜索(文本)
如果不匹配,则返回matches.group(“后缀”)
示例=[
“流量控制无”,
“流量控制无”,
“流量控制无”,
“流量控制”,
]
例如,在示例中:
后缀=获取后缀(文本=示例)
如果后缀为:
打印(f“匹配:{repr(后缀)}”)
其他:
打印(f“不匹配:{repr(示例)}”)
既然您已经用#python
和#regex
标记了您的问题,我将使用这些工具概述一个简单的问题解决方案。此外,其他两个答案并没有真正解决匹配流控制“
前缀“右边的东西”的确切问题
re
内置模块()开始重新导入
^Flow Control
的“右侧的内容”((?P.+)$
)pattern=re.compile(r“^Flow Control(?P.+)$”)
“流量控制无”
)suffix=pattern.search(“流控制无”).group(“后缀”)
打印(后缀)#输出:无
希望这个完整的工作示例也能帮助您
重新导入
def get_后缀(文本:str):
模式=重新编译(r“^Flow Control(?P.+)$”)
匹配=模式。搜索(文本)
如果不匹配,则返回matches.group(“后缀”)
示例=[
“流量控制无”,
“流量控制无”,
“流量控制无”,
“流量控制”,
]
例如,在示例中:
后缀=获取后缀(文本=示例)
如果后缀为:
打印(f“匹配:{repr(后缀)}”)
其他:
打印(f“不匹配:{repr(示例)}”)
只需匹配流量控制(+)
然后仅提取捕获组。根据您的情况,您还可以使用str.replace
或str.index
。是否可以包含更多示例数据?只需匹配流量控制(+)
然后只提取捕获组。根据您的情况,您也可以使用str.replace
或str.index
。您可以包含更多样本数据吗?谢谢Timur,它工作得很好。这两个选项都很好,谢谢您的时间。谢谢Timur,它工作得很好。这两个选项都很好,谢谢您的time、 非常感谢,它工作得很好。我最终使用了下面发布的更简单的正则表达式解决方案,但是如果它对任何异常值都不起作用,那么您的解决方案,尽管需要更长的时间。我添加了以下内容以使其删除引号和空格。xt=f{repr(right)}
xt=xt.strip('\'')
xt.strip()
print(xt)
非常感谢,它工作得很好。我最终使用了下面发布的更简单的正则表达式解决方案,但如果它对任何异常值都不起作用,那么您的解决方案,尽管需要更长的时间。我添加了以下内容以使其删除引号和空格。xt=f“{repr(右)}”
xt=xt.strip(“\”)
xt.strip()
print(xt)