我试图找到正确的正则表达式来检测以单个下划线结尾的字符串,例如hello_, this_。到目前为止,我只能re.match("[aA-zZ](_)", string)检测到day __,ball__之类的字符串,即带有两个我不想使用的下划线。任何想法如何最后得到一个下划线的字符串。
谢谢
您可以使用
re.search(r"(?<!_)_$", s)
Run Code Online (Sandbox Code Playgroud)
参见regex演示。请参阅正则表达式图:
细节
(?<!_)- 向后寻找负数,以确保_当前位置的左侧不再立即_ -下划线$ -字符串结尾。请注意,您需要re.search在字符串内的任何位置查找匹配项,而不是re.match仅在字符串开头处进行匹配。