我正在尝试匹配包含一个单词的文本(让我们说“word”)。我使用以下正则表达式:
r = re.compile(r'\bword\b')
当我尝试这个正则表达式时,我得到以下结果:
r.match('a word a') > None
r.match(' word ') > None
r.match('word') > match
三根弦不都匹配吗?
发布于 2013-05-30 21:25:03
来自文档
re.search( pattern,string,flags=0) 扫描字符串,查找正则表达式模式生成匹配的位置,并返回相应的MatchObject实例。如果字符串中没有与模式匹配的位置,则返回None;请注意,这与在字符串中的某个点找到零长度匹配不同。 re.match(pattern,string,flags=0) 如果字符串开头有零个或多个字符匹配正则表达式模式,则返回相应的MatchObject实例。如果字符串不匹配模式,则返回None;请注意,这与零长度匹配不同。 注意,即使在多行模式下,re.match()也只能在字符串的开头而不是每一行的开头匹配。 如果希望在字符串中的任何位置找到匹配项,请使用search()代替
所以,只要做r.search(.)你应该得到你想要的。
https://stackoverflow.com/questions/16846025
复制相似问题