⊗pyPmREOC 51 of 129 menu

Python正規表現における「または」コマンド

コマンド '|' は、 コマンド [ ] と比較してより強力な 「または」 のバリエーションです。 このコマンドは正規表現を複数の部分に 分割することを可能にします。 この場合、検索対象は正規表現の一部に 一致するか、または別の部分に一致します。 例を見てみましょう。

この例での検索パターンは以下の通りです: 文字 'a' が3つ、または文字 'b' が3つ

txt = 'aaa bbb abb' res = re.sub('a{3}|b{3}', '!', txt) print(res)

コード実行結果:

'! ! abb'

この例での検索パターンは以下の通りです: 文字 'a' が3つ、または 1 つ 以上の文字 'b'

txt = 'aaa bbb bbbb bbbbb axx' res = re.sub('a{3}|b+', '!', txt) print(res)

コード実行結果:

'! ! ! ! axx'

この例での検索パターンは以下の通りです: 1つ以上の文字、または3桁の数字

txt = 'a ab abc 1 12 123' res = re.sub('[a-z]+|\d{3}', '!', txt) print(res)

コード実行結果:

'! ! ! 1 12 !'

縦棒は正規表現を2つだけでなく、任意の数の 部分に分割することができます:

txt = 'aaa bbb ccc ddd' res = re.sub('a+|b+|c+', '!', txt) print(res)

コード実行結果:

'! ! ! ddd'

縦棒が丸括弧の中にある場合、 「または」 はその括弧内でのみ 機能します。

例として、次のパターンに一致する文字列を 探してみましょう:先頭に 'a'、 または 'b' が1回以上続き、 その後ろに文字 'x' が2つ

txt = 'axx bxx bbxx exx' res = re.sub('(a|b+)xx', '!', txt) print(res)

コード実行結果:

'! ! ! exx'

実践問題

次の文字列が与えられています:

txt = 'aeeea aeea aea axa axxa axxxa'

次のパターンに一致する文字列を検索する 正規表現を書いてください:両端が文字 'a' で、その間に文字 'e' が任意の回数、または文字 'x' が 任意の回数ある

次の文字列が与えられています:

txt = 'aeeea aeea aea axa axxa axxxa'

次のパターンに一致する文字列を検索する 正規表現を書いてください:両端が文字 'a' で、その間に文字 'e' が2回、または文字 'x' が 任意の回数ある

日本語
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
当サイトでは、サイトの動作、分析、パーソナライゼーションのためにクッキーを使用しています。 データ処理はプライバシーポリシーに従って行われます。
すべて受け入れる 設定 拒否