⊗pyPmREMl 50 of 129 menu

Python正規表現におけるマルチライン処理

マルチライン文字列を扱う際の正規表現には特有の注意点があります。 以下の例のように、通常の文字、改行文字、タブ文字を含む文字列を使って詳しく見ていきましょう。

txt = '''111 222 333 444'''

改行文字

改行文字は '\n' パターンでマッチさせることができます。

res = re.sub('\n', '!', txt) print(res)

実行結果は以下のようになります(行間のスペースはタブ文字です)。

'111! 222! 333! 444'

タブ文字

タブ文字は '\t' パターンでマッチさせることができます。

res = re.sub('\t', '!', txt) print(res)

コードの実行結果:

''' !111 !222 !333 !444 '''

ドットの動作

マルチラインモードでは、パターン '.' は改行文字をマッチしません。

res = re.sub('.', '!', txt) print(res)

コードの実行結果:

''' !!! !!!! !!!! !!!! '''

任意の文字(すべての文字)

マルチライン文字列内のすべての文字(改行文字を含む)をマッチさせるには、[\s\S] という組み合わせを使います。この構文は、通常の文字と改行文字の両方を検索します。

res = re.sub('[\s\S]', '!', txt) print(res)

コードの実行結果:

'!!!!!!!!!!!!!!!!!!'

ドル記号

マルチラインモードでは、パターン ' は各行の末尾にマッチします。

res = re.sub(' ', '!', txt) print(res)

コードの実行結果:

''' 111! 222! 333! 444! '''

実践問題

以下の文字列が与えられます:

''' abc def ghi jkl '''

この文字列を以下のように変換する正規表現を書いてください。

''' abc! def! ghi! jkl! '''

以下の文字列が与えられます:

''' abc def ghi jkl '''

この文字列を以下のように変換する正規表現を書いてください。

''' ! abc ! def ! ghi ! jkl '''

以下の文字列が与えられます:

''' abc def ghi jkl '''

この文字列を以下のように変換する正規表現を書いてください。

'''! abc def ghi jkl !'''

以下の文字列が与えられます:

''' abc def ghi jkl '''

この文字列を以下のように変換する正規表現を書いてください。

'''! ! abc ! def ! ghi ! jkl !'''

以下の文字列が与えられます:

''' abc def ghi jkl '''

この文字列を以下のように変換する正規表現を書いてください。

'''! abc! def! ghi! jkl! !'''

以下の文字列が与えられます:

''' abc def ghi jkl '''

この文字列を以下のように変換する正規表現を書いてください。

''' !abc !def !ghi !jkl '''
日本語
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItalianoქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
当サイトでは、サイトの動作、分析、パーソナライゼーションのためにクッキーを使用しています。 データ処理はプライバシーポリシーに従って行われます。
すべて受け入れる 設定 拒否