我正在尝试使用正则表达式进行一些字符串搜索,其中仅当它们以“”空格结尾时我才需要打印 [a-z,A-Z,_],但是如果我末尾有下划线,我会遇到一些麻烦然后它不会等待空间并执行命令。
if re.search(r".*\s\D+\s", string):
print string
如果我继续
string = "abc shot0000 "
它工作正常,我确实需要它仅在字符串以空格 \s
结尾时执行。
但如果我继续
string = "abc shot0000 _"
然后它不会等待空格\s
并执行命令。
最佳答案
您正在使用 search
,正如名称所示,此函数将在您的字符串中搜索模式是否出现,并且您的两个字符串中就是这种情况。
您应该在正则表达式中添加一个 $
来搜索字符串的结尾:
if re.search(r".*\s\D+\s$", string):
print string
关于python正则表达式下划线问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17421688/