Python正規表現での単語境界
コマンド '\\b' を使用することで
単語の境界を参照でき、コマンド
'\B' または '\\B' を使用することで
非境界を参照できます。Pythonで単語境界を定義する場合、
他のコマンドでは1つのスラッシュが許容されるのに対し、
厳密に2つのスラッシュを使用したエスケープが
機能することに注意してください。
例を通じてこれらのコマンドの動作を見てみましょう。
例
各単語を記号 '!' で囲んでみましょう:
txt = 'aaa aaa aaa'
print(re.sub('\\b', '!', txt))
コード実行結果:
'!aaa! !aaa! !aaa!'
例
文字間の隙間に記号 '!' を追加してみましょう:
txt = 'aaa aaa aaa'
print(re.sub('\\B', '!', txt))
コード実行結果:
'a!a!a a!a!a a!a!a'
実践問題
次の文字列が与えられます:
txt = 'abc def xyz'
この文字列を以下のように変換する正規表現を記述してください:
'#abc# #def# #xyz#'
次の文字列が与えられます:
txt = 'abc def xyz'
この文字列を以下のように変換する正規表現を記述してください:
'a+b+c d+e+f x+y+z'