以单个下划线字符结尾的字符串

Dar*_*oor 1 python regex

我试图找到正确的正则表达式来检测以单个下划线结尾的字符串,例如hello_, this_。到目前为止,我只能re.match("[aA-zZ](_)", string)检测到day __,ball__之类的字符串,即带有两个我不想使用的下划线。任何想法如何最后得到一个下划线的字符串。

谢谢

Wik*_*żew 6

您可以使用

re.search(r"(?<!_)_$", s)
Run Code Online (Sandbox Code Playgroud)

参见regex演示。请参阅正则表达式图:

在此处输入图片说明

细节

  • (?<!_)- 向后寻找负数,以确保_当前位置的左侧不再立即
  • _ -下划线
  • $ -字符串结尾。

请注意,您需要re.search在字符串内的任何位置查找匹配项,而不是re.match仅在字符串开头处进行匹配。