python正则表达式下划线问题

标签 python regex

我正在尝试使用正则表达式进行一些字符串搜索,其中仅当它们以“”空格结尾时我才需要打印 [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/

相关文章:

python - 如何使用 MDAnalysis 从 Amber 加载 .prmtop 和 .crd 文件?

php - 改进工作正则表达式以匹配多行

c++ - 与 Boost 的正则表达式区分大小写的部分匹配

regex - 不使用正则表达式用空格替换减号(-)的问题

PHP 正则表达式删除多个 ?-marks

c++ - 索引文件名及其内容

python - 在 scikit 的 precision_recall_curve 中,为什么阈值与召回率和精度具有不同的维度?

python - 解析导入其他本地架构的 XML 架构时出错

带有 UTF-8 数据的 Python CSV DictReader

python - 如何将 wand.image.Image 转换为 PIL.Image?