使用字符串变量检查子串[全字]

时间:2017-01-07 07:05:52

标签: python python-2.7 words word-boundary

在Python 2.7中,我正在尝试以下方法:

 >>> import re
>>> text='0.0.0.0/0 172.36.128.214'
>>> far_end_ip="172.36.128.214"
>>>
>>>
>>> chk=re.search(r"\b172.36.128.214\b",text)
>>> chk
<_sre.SRE_Match object at 0x0000000002349578>
>>> chk=re.search(r"\b172.36.128.21\b",text)
>>> chk
>>> chk=re.search(r"\b"+far_end_ip+"\b",text)
>>>
>>> chk
>>>

问:如何在使用变量far_end_ip

时进行搜索

1 个答案:

答案 0 :(得分:1)

两个问题:

  • 您需要将字符串的最后一位写为正则表达式文字或转义反斜杠:... + r"\b"
  • 您应该转义文本中的点以查找:... + re.escape(far_end_ip)

所以:

re.search(r"\b" + re.escape(far_end_ip) + r"\b",text)

另见"How to use a variable inside a regular expression?"