python - 以单个下划线字符结尾的字符串
问题描述
我正在尝试找到正确的正则表达式来检测以单个下划线结尾的字符串,例如hello_, this_
. 到目前为止,我已经re.match("[aA-zZ](_)", string)
检测到诸如 day__、ball__ 之类的字符串,即带有两个我不想要的下划线。最后如何获得带有单个下划线的字符串的任何想法。
谢谢
解决方案
您可以使用
re.search(r"(?<!_)_$", s)
请参阅正则表达式演示。查看正则表达式图:
细节
(?<!_)
- 一个消极的lookbehind_
,确保当前位置的左边没有立即出现_
- 一个下划线$
- 字符串结束。
请注意,您需要re.search
在字符串内的任何位置查找匹配,而不是re.match
仅在字符串的开头匹配。
推荐阅读
- php - Laravel 在大集合中提高性能搜索的最佳方法
- chart.js - 使用 ChartJS 设置特定 X 轴标签的样式
- javascript - 在Javascript中将级别字符串转换为完全不同格式的数组
- ios - iOS Swift:UISegmentedControl Tint Color 与标题重叠
- python - Python:使用 BeautifulSoup4 在不同的内部访问新的
- r - 正则表达式和转义
- javascript - 将字符串数组转换为对象
- amazon-s3 - 返回对无效预签名 URL aws s3 的特定响应
- java - 第二次调用类程序中断,Java
- c# - 从控制台应用程序调用 WebApi 失败