ホームページ  >  記事  >  バックエンド開発  >  正規表現の特殊文字の意味

正規表現の特殊文字の意味

WBOY
WBOYオリジナル
2016-06-20 13:04:471529ブラウズ

今日、正規表現についての比較的良い記事を見つけました。正規表現における特殊文字の意味について書かれていたので、とても良いと思ったので記録しました。

文字/

意味: 文字の場合、通常は文字通りの意味を意味し、次の文字が特殊文字であることを示します。
例: /b/ は文字「b」に一致します。b の前にバックスラッシュを追加すると (/b/)、その文字は単語の一致の境界線を示す特殊文字になります。または: いくつかの文字については、通常、それらが特殊であると述べられ、後続の文字が特殊ではなく文字通りに解釈されるべきであることを示します。

例: * は任意の数の文字 (0 文字を含む) に一致する特殊文字です。

例: /a*/ は 0 個以上の a に一致することを意味します。リテラル * に一致させるには、a の前にバックスラッシュを追加します。

たとえば、/a*/ は 'a*' に一致します。

Character^

意味: 一致する文字が先頭になければならないことを示します。

例: /^A/ は、「an A」の「A」とは一致しませんが、「An A.」の最初の「A」とは一致します。

文字 $

意味: ^ と同様に、最後の文字と一致します。

例: /t$/ は、「eater」の「t」とは一致しませんが、「eat」の「t」とは一致します。

文字 *

意味: * より前の文字と 0 回または n 回一致します。
例: /bo*/ は、「A ghost booooed」の「boooo」または「A Bird warbled」の「b」に一致しますが、「Agoat g
runted」の文字には一致しません。文字 +
意味: + 記号の前の文字と 1 回または n 回一致します。 {1,} と同等。

例: /a+/ は、「candy」の「a」と「caaaaaaandy」のすべての「a」に一致します。

Character?

意味: ? より前の文字と 0 回または 1 回一致します。

例: /e?le?/ は、「angel」の「el」と「angle.」の「le」に一致します。

文字。

意味: (小数点) は改行を除くすべての単一文字に一致します。

例: /.n/ は、「いいえ、リンゴが木の上にあります」の 'an' と 'on' には一致しますが、'nay' には一致しません。

文字 (x)

意味: 'x' と一致し、一致する値を記録します。
例: /(foo)/ は、「foo bar.」の「foo」と一致し、記録します。一致する部分文字列は、結果配列の要素 [1]、...、[n] によって、または RegExp オブジェクト ..., のプロパティによって返されます。

文字 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 個前の文字と一致します。

例: /a{ 1,3 }/ は、「cndy」のどの文字とも一致しませんが、「candy」の「a」と、「caandy」の最初の 2 文字と一致します。


「caaaaaaandy」の「a」と最初の 3 つの「a」、注: 「caaaaaaandy」に多くの「a」がある場合でも、最初の 3 つの「a」、つまり「aaa」のみが一致します。

Character[xyz]

意味: リスト内の任意の文字と一致する文字のリスト。ハイフン - を使用して文字の範囲を指定できます。

例: [abcd] は [a-c] と同じです。これらは、「brisket」の「b」と「ache」の「c」に一致します。

Character[^xyz]

意味: 1 文字の補数、つまり、リストされた文字を除くすべてに一致します。 ハイフンを使用して文字の範囲を示すことができます。

例: [^abc] と [^a-c] は同等であり、最初に「brisket」の「r」と「chop.」の「h」に一致します。

文字

意味: スペースに一致します (b と混同しないでください) 文字 b

意味: スペースなどの単語内の分割線に一致します (b と混同しないでください)


例: /bnw/ は「noonday」の「no」に一致し、/wyb/ は「おそらく昨日」の「ly」に一致します。

文字 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」と一致します。

文字 f

意味: フォーム文字と一致 n
意味: 改行文字と一致 r
意味: 復帰文字と一致 s
意味: スペースを含む 1 つの空白文字と一致、タブ、フォーム フィード、改行、[fnrtv] に相当します。

例: /sw*/ は、「foo bar.」の「bar」と一致します。

Character S

意味: 空白を除く単一の文字と一致し、[^ fnrtv] と同等です。

例: /S/w* は、「foo bar.」の「foo」と一致します。

文字 t

意味: タブ文字と一致 v
意味: 先頭のタブ文字と一致 w
意味: すべての数字、文字、アンダースコアと一致、[A-Za-z0 と同等] -9_]。

例: /w/ は、「apple,」の「a」、「.28」の「5」、および「3D.」の「3」に一致します。

Character W

意味: [^A-Za-z0-9_] に相当する、数字、文字、アンダースコアを除く他の文字と一致します。

例: /W/ または /[^$A-Za-z0-9_]/ は、「50%.」の '%' に一致します。

文字 n

意味: ここでの n は正の整数です。正規表現の最後の部分文字列に一致する n の値 (左括弧をカウントします)。

例: /apple(,)sorange1/ は、「apple、orange、cherry、peach.」の「apple、orange」に一致します。より完全な例を以下に示します。

注: 左括弧内の数値が n で指定された数値より小さい場合、n は次の行の 8 進エスケープを説明として受け取ります。

文字 oooctal と xhex

意味: ここでの oooctal は 8 進数のエスケープ値、xhex は 16 進数のエスケープ値で、ASCII コードを正規表現に埋め込むことができます。


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。