我试图找到正确的正则表达式来检测以单个下划线结尾的字符串,例如你好_,这个_。到目前为止,我有 re.match("[aA-zZ](_)", string) 但检测到像 day__、ball__ 这样的字符串,即带有两个我不想要的下划线。任何想法如何在最后获得带有单个下划线的字符串。
谢谢
请您参考如下方法:
你可以使用
re.search(r"(?<!_)_$", s)
参见 regex demo .查看正则表达式图:
详情
-
(?<!_)- 一个 negative lookbehind确保没有_紧靠当前位置的左侧 -
_- 下划线 -
$- 字符串结束。
注意你需要re.search在字符串中的任何位置查找匹配项,而不是 re.match仅在字符串的开头匹配。
