今日、正規表現についての比較的良い記事を見つけました。正規表現における特殊文字の意味について書かれていたので、とても良いと思ったので記録しました。
例: * は任意の数の文字 (0 文字を含む) に一致する特殊文字です。
例: /a*/ は 0 個以上の a に一致することを意味します。リテラル * に一致させるには、a の前にバックスラッシュを追加します。
たとえば、/a*/ は 'a*' に一致します。
例: /^A/ は、「an A」の「A」とは一致しませんが、「An A.」の最初の「A」とは一致します。
例: /t$/ は、「eater」の「t」とは一致しませんが、「eat」の「t」とは一致します。
例: /a+/ は、「candy」の「a」と「caaaaaaandy」のすべての「a」に一致します。
例: /e?le?/ は、「angel」の「el」と「angle.」の「le」に一致します。
例: /.n/ は、「いいえ、リンゴが木の上にあります」の 'an' と 'on' には一致しますが、'nay' には一致しません。
文字 x│y
意味: 'x' または 'y' と一致します。 例: /green│red/ は、「green apple」の「green」と「red apple」の「red」に一致します。文字 { n }
意味: ここでの n は正の整数です。最初の n 文字と一致します。 例: /a{ 2 }/ は、「candy」の「a」には一致しませんが、「caandy」のすべての「a」と、「caaandy」の最初の 2 つの「a」に一致します。 。文字 { n, }
意味: ここでの n は正の整数です。少なくとも n 個前の文字と一致します。 例: /a{ 2, } は、「candy」の「a」とは一致しませんが、「caandy」のすべての「a」と「caaaaaaandy」のすべての「a」と一致します。文字 {n,m}
意味: ここでの n と m は両方とも正の整数です。少なくとも n 個、最大で m 個前の文字と一致します。Character[xyz]
意味: リスト内の任意の文字と一致する文字のリスト。ハイフン - を使用して文字の範囲を指定できます。 例: [abcd] は [a-c] と同じです。これらは、「brisket」の「b」と「ache」の「c」に一致します。Character[^xyz]
意味: 1 文字の補数、つまり、リストされた文字を除くすべてに一致します。 ハイフンを使用して文字の範囲を示すことができます。 例: [^abc] と [^a-c] は同等であり、最初に「brisket」の「r」と「chop.」の「h」に一致します。文字
意味: スペースに一致します (b と混同しないでください) 文字 b文字 B
意味: 単語の非改行行と一致します例: /wBn/ は「正午」の「on」と一致し、/yBw/ は「おそらく」と一致します昨日。」の「ye」。文字 cX
意味: ここの X は制御文字です。制御文字の文字列と一致します。 例: /cM/ は文字列内の control-M と一致します。Character d
意味: [0-9] に相当する数値と一致します。 例: /d/ または /[0-9]/ は、「B2 はスイート番号です。」の「2」と一致します。文字 D
意味: [^0-9] に相当する、数値以外の任意の文字列に一致します。 例: /D/ または /[^0-9]/ は、「B2 はスイート番号です。」の「B」と一致します。例: /sw*/ は、「foo bar.」の「bar」と一致します。
例: /S/w* は、「foo bar.」の「foo」と一致します。
例: /w/ は、「apple,」の「a」、「.28」の「5」、および「3D.」の「3」に一致します。
例: /W/ または /[^$A-Za-z0-9_]/ は、「50%.」の '%' に一致します。
意味: ここでの n は正の整数です。正規表現の最後の部分文字列に一致する n の値 (左括弧をカウントします)。
例: /apple(,)sorange1/ は、「apple、orange、cherry、peach.」の「apple、orange」に一致します。より完全な例を以下に示します。
注: 左括弧内の数値が n で指定された数値より小さい場合、n は次の行の 8 進エスケープを説明として受け取ります。