2024-10-02 00:40:31 发布
网友
我试图用正则表达式进行一些字符串搜索,只有当[a-z,a-z,\u]以“”空格结尾时,我才需要打印它们,但是如果末尾有下划线,它就不会等待空格并执行命令,这就有点麻烦了。在
if re.search(r".*\s\D+\s", string): print string
如果我继续
它工作得很好,我需要它只在字符串以空格\s结尾时执行它。在
\s
但如果我继续
string = "abc shot0000 _"
然后它不等待空格\s并执行命令。在
使用$:
$
>>> strs = "abc shot0000 " >>> re.search(r"\s\w+\s$", strs) #use \w: it'll handle A-Za-z_ <_sre.SRE_Match object at 0xa530100> >>> strs = "abc shot0000 _" >>> re.search(r"\s\w+\s$", strs) #None
您使用的是search,这个函数,顾名思义,如果模式出现,就在字符串中搜索,这就是两个字符串中的情况。在
search
您应该在正则表达式中添加一个$,以搜索字符串结尾:
if re.search(r".*\s\D+\s$", string): print string
您需要用$将RE锚定在字符串的末尾:
使用
$
:您使用的是
search
,这个函数,顾名思义,如果模式出现,就在字符串中搜索,这就是两个字符串中的情况。在您应该在正则表达式中添加一个
$
,以搜索字符串结尾:您需要用
$
将RE锚定在字符串的末尾:相关问题 更多 >
编程相关推荐