【发布时间】:2018-02-26 04:13:04
【问题描述】:
我知道之前有人问过这个问题,但今天早些时候我在 SO 中找到了以下代码:
import re
def findIfWordMatch(w):
return re.compile(r'\b({0})\b'.format(w), flags=re.IGNORECASE).search
例如,如果我使用以下字符串,如果在 text2 中找到 text1,则该函数返回一个匹配对象(否则该函数返回 None):
text1 = 'DIBUJO'
text2 = 'DIBUJO B308'
所以要知道 text1 是否在 text2 中,我执行以下操作:
if(findIfWordMatch(text1)(text2) is not None):
#doSomething()
在我使用这些变量之前,它一直运行良好:
text1 = 'INT.EST.C.S.'
text2 = 'INT.EST.C.S. B308'
我几乎可以肯定它与点无关,因为我还有其他具有类似结构的变量并且工作正常,所以..
我想知道为什么会发生这种情况,或者用另一种方法来查找字符串是否在另一个字符串中。
谢谢指教
【问题讨论】:
-
实际上,您甚至不需要正则表达式,因为有一个本机运算符
in正是您要实现的功能... stackoverflow.com/questions/3437059/… 不要重新发明轮子兄弟! ;-)
标签: python regex python-3.x