使用正则表达式在Python中搜索数字+“

时间:2017-02-01 18:38:58

标签: python regex

我想在Python中编译一个正则表达式来搜索这些值values_list = ['4.7"', '5.1"', '5.5"']

此代码根本找不到5.1“

regex = re.compile(r'\b(' + '5.1"' + r')\b')

regex.findall('5.1"')

1 个答案:

答案 0 :(得分:3)

最后一个单词边界\b是正则表达式匹配失败的原因。将模式修改为:

regex = re.compile(r'\b(' + '5.1"' + r')')

并且它将起作用。

来自docs

  

元字符\ b是一个像插入符和美元符号的锚。   它匹配一个名为"字边界的位置"。这场比赛   是零长度。

     

有三种不同的职位符合词边界:

     
      
  • 在字符串中的第一个字符之前,如果第一个字符是a   字符。
  •   
  • 字符串中的最后一个字符后,如果是最后一个字符   character是一个单词字符。
  •   
  • 字符串中的两个字符之间,   其中一个是单词字符而另一个不是单词字符。
  •   

密切关注第二个要点。