⊗jsSpREOC 115 of 294 menu

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

このレッスンでは、コマンド '|' を分析します。これは コマンド [ ] と比較して、より強力な 'または' のバリアントです。 このコマンドは、正規表現を複数の部分に 分割することを可能にします。 その際、検索対象は正規表現の一方の部分に マッチするか、もう一方の部分にマッチします。 例を見てみましょう。

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

let str = 'aaa bbb abb'; let res = str.replace(/a{3}|b{3}/g, '!');

結果、変数には以下が格納されます:

'! ! abb'

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

let str = 'aaa bbb bbbb bbbbb axx'; let res = str.replace(/a{3}|b+/g, '!');

結果、変数には以下が格納されます:

'! ! ! ! axx'

この例の検索パターンは次の通りです: 1文字以上のアルファベット、または3桁の数字

let str = 'a ab abc 1 12 123'; let res = str.replace(/[a-z]+|\d{3}/g, '!');

結果、変数には以下が格納されます:

'! ! ! 1 12 !'

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

let str = 'aaa bbb ccc ddd'; let res = str.replace(/a+|b+|c+/g, '!');

結果、変数には以下が格納されます:

'! ! ! ddd'

縦棒が丸括弧内にある場合、 'または' の作用はその括弧内のみに限定されます。

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

let str = 'axx bxx bbxx exx'; let res = str.replace(/(a|b+)xx/g, '!');

結果、変数には以下が格納されます:

'! ! ! exx'

実践問題

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

let str = 'aeeea aeea aea axa axxa axxxa';

次のパターンにマッチする文字列を見つける正規表現を記述してください: 両端に文字 'a' があり、 その間には、文字 'e' が任意の回数、または文字 'x' が任意の回数

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

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