【发布时间】:2022-09-23 02:15:04
【问题描述】:
我想从一个句子中提取整个单词。 感谢this answer,
import re
def findWholeWord(w):
return re.compile(r\'\\b({0})\\b\'.format(w), flags=re.IGNORECASE).search
在以下情况下,我可以得到完整的单词:
findWholeWord(\'thomas\')(\'this is Thomas again\') # -> <match object>
findWholeWord(\'thomas\')(\'this is,Thomas again\') # -> <match object>
findWholeWord(\'thomas\')(\'this is,Thomas, again\') # -> <match object>
findWholeWord(\'thomas\')(\'this is.Thomas, again\') # -> <match object>
findWholeWord(\'thomas\')(\'this is ?Thomas again\') # -> <match object>
单词旁边的符号不会打扰。
但是,如果有一个数字,它就找不到这个词。
我应该如何修改表达式以匹配单词旁边有数字的情况?喜欢:
findWholeWord(\'thomas\')(\'this is 9Thomas, again\')
findWholeWord(\'thomas\')(\'this is9Thomas again\')
findWholeWord(\'thomas\')(\'this is Thomas36 again\')
-
“提取”是什么意思?为什么需要使用正则表达式?
pos = s.find(word) return s[pos:pos+len(word)]呢?