检查Word是否在字符串错误中

时间:2012-05-24 09:12:41

标签: python

使用Python - Check If Word Is In A String

中的以下内容
>>> def findWholeWord(w):
...     return re.compile(r'\b({0})\b'.format(w), flags=re.IGNORECASE).search
... 
>>> findWholeWord('seek')('those who seek shall find')  
<_sre.SRE_Match object at 0x22c1828>
>>> findWholeWord('seek') 
<built-in method search of _sre.SRE_Pattern object at 0x22b8190>
>>> findWholeWord('seek')('those who seek shall find')  
<_sre.SRE_Match object at 0x22c1828>
>>> findWholeWord('seek')('those who shall find') 

这是错误还是应该是结果?

<_sre.SRE_Match object at 0x22c1828>

2 个答案:

答案 0 :(得分:3)

这是一段有趣的代码,但在python中查找字符串中的单词实际上要简单得多。你甚至不需要这个功能:

 if some_word in some_str.split():
      ....

要查找子字符串而不是整个单词,请省略split部分:

print 'word' in 'funny swordfish'.split()  # False
print 'word' in 'funny swordfish'          # True

答案 1 :(得分:2)

该匹配对象就是结果,您可以从中获得更多功能,例如

['__class__', '__copy__', '__deepcopy__', '__delattr__', '__doc__', '__format__'
, '__getattribute__', '__hash__', '__init__', '__new__', '__reduce__', '__reduce_ex__'
, '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__','end', 'endpos'
, 'expand', 'group', 'groupdict', 'groups', 'lastgroup', 'lastindex', 'pos', 're'
, 'regs', 'span', 'start', 'string']

所以在返回的对象上,您可以例如.span()来获取您要查找的单词的开始和结束索引。