我正在努力构建一个正则表达式来捕获以 tw (或 Tw 或 TW )开头的单词,无论它们是否在引号之间(单引号或双引号)。到目前为止,'\b[tT][wW][a-zA-Z0-9]*' 捕获了所有 tw、Tw 和 TW 起始词,但错过了 btw 单引号或双引号中的那些。它同时找到 tweeple 和 TWEEPLE,但没有找到 'tweeple' 和 "TWEEPLE"。
非常感谢帮助。
我正在努力构建一个正则表达式来捕获以 tw (或 Tw 或 TW )开头的单词,无论它们是否在引号之间(单引号或双引号)。到目前为止,'\b[tT][wW][a-zA-Z0-9]*' 捕获了所有 tw、Tw 和 TW 起始词,但错过了 btw 单引号或双引号中的那些。它同时找到 tweeple 和 TWEEPLE,但没有找到 'tweeple' 和 "TWEEPLE"。
非常感谢帮助。
您的\b
字符串中的 被解释为退格字符,而不是\b
被正则表达式引擎解释为单词边界的序列。将您的字符串更改为原始字符串文字或转义反斜杠,它应该可以工作:
>>> re.findall(r'\b[tT][wW][a-zA-Z0-9]*', ' "TWEEPLE" tweeple ')
['TWEEPLE', 'tweeple']
这是差异的示例:
>>> 'abc\b'
'abc\x08'
>>> print 'abc\b'
abc
>>> r'abc\b'
'abc\\b'
>>> print r'abc\b'
abc\b