tw (または Tw、または TW) で始まる単語が引用符 (一重または二重) で囲まれているかどうかにかかわらず、正規表現を作成するのに苦労しています。これまでのところ、'\b[tT][wW][a-zA-Z0-9]*' は tw、Tw、および TW の開始単語をすべてキャッチしますが、一重引用符または二重引用符で囲まれたものは見逃しています。tweeple と TWEEPLE の両方が見つかりますが、'tweeple' や "TWEEPLE" は見つかりません。
大変助かりました。
tw (または Tw、または TW) で始まる単語が引用符 (一重または二重) で囲まれているかどうかにかかわらず、正規表現を作成するのに苦労しています。これまでのところ、'\b[tT][wW][a-zA-Z0-9]*' は tw、Tw、および TW の開始単語をすべてキャッチしますが、一重引用符または二重引用符で囲まれたものは見逃しています。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