ホームページ >バックエンド開発 >PHPチュートリアル >正規表現の詳しい解説
正規表現言語は、リテラル (通常の) テキスト文字とメタキャラクターという 2 つの基本的な文字タイプで構成されます。
関連する推奨事項:
1. 正規表現構文チュートリアル (オンライン テスト ツールを含む)
2. PHP 正規表現の簡単な紹介ビデオ チュートリアル
メタキャラクターは正規表現を使用して処理できます。メタキャラクターは、[ ]
に配置された任意の 1 文字 (たとえば、[a]
は 1 つの小文字 a
と一致することを意味します)、または一連の文字 (たとえば、[a-d]
は、a、b、c、d
の間の任意の文字と一致することを意味し、\w
は任意の英字、数字、アンダースコアを意味します)、共通メタキャラクター
文字 | 説明 | 特別な指示 |
---|---|---|
#.
| 改行文字 (\n)
| ~## を除く任意の文字と一致します。 |
| a b c d e
の任意の文字と一致します。すべての文字は | または # です##. 関係
|
は、 a | から h までの任意の文字と一致します。 #~
|
[^fgh] |
は と一致しません fgh の文字は # と一致します | ##. 否定を示すには、角括弧 [ ] の最初の文字の前に #^ | を追加します 角括弧内にある文字とは一致しません括弧 \w |
#~ |
##\W |
は ## の反対です#\w | は
~ |
\s と同等です
| は任意の空白文字に一致します。[\f\n\r\t\v] |
と同等です。 |
\S
| は \s | の逆で、
~ と同等です。 |
\d
| は、0 ~ 9 の任意の 1 桁に一致し、[0-9] |
| ##\D
# は | \dの逆で、 | [^0- と同等です。 9]
~
|
#[\u4e00-\u9fa5] 任意の単一の | 中国語文字と一致します(中国語) (ここでは、 | Unicode
~
|
\b 単語の先頭または末尾と一致します。 |
~ |
^ | 単語の先頭と一致します。文字列 | を括弧の最初の文字の前に置くと、 |
$ | ## という逆数を意味する になります。 | #文字列の末尾と一致する~ |
正規表現修飾子 関数: の出現数を制限します。この記号の前の | ユニット ユニット: |
#以前に長い文字列を囲むためにかっこを使用した場合は、かっこ全体が ユニットとみなされます
上記のメタ文字はすべて一致します。単一の文字。複数の文字を同時に一致させたい場合は、修飾子を使用する必要があります。一般的な修飾子をいくつか次に示します (下の表の
特別な指示
# は、0 から複数のメタキャラクタに一致します。 | {0,} | ~ | |||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
?
| は 0 ~ 1 個のメタキャラクタに一致します。{0,1}
| ~||||||||||||||||||||||||||
# は少なくとも 1 つのメタキャラクターに一致します。 | {1,}
~ |
||||||||||||||||||||||||||
n 個のメタ文字に一致 |
~
|
{n, } | |||||||||||||||||||||||||
少なくとも n 個のメタ文字に一致します ~ |
{n,m} | ||||||||||||||||||||||||||
n ~ m 個のメタ文字に一致します ~ |
\b | ||||||||||||||||||||||||||
単語の境界を一致させる ~ |
#^ | ||||||||||||||||||||||||||
~ |
$ | ||||||||||||||||||||||||||
~ |
意味 | ||
---|---|---|
Windows98|Windows2000|WindowsXP
| は、Windows98 または Windows2000 または WindowsXP
| # と一致します|
| Windows98 で始まるか、Windows2000 が含まれるか、または WindowsXP で終わる注 |の境界は先頭、末尾、括弧のみであるため、 # と $ は両方とも | の範囲に含まれます。
|
|
| Windowsその後98 または 2000 orXP
|
#注文 | メタキャラクター | 説明 |
---|---|---|
\
| エスケープ文字||
()、 (?:)、 (?=)、 [] #モード単位と原子テーブル |
||
* | , ,? 、{n} 、{n,} 、{n,m} 重複一致 |
|
、$ 、\b 、\B 、\A 、\Z 国境制限 |
##5 | |
| | パターンの選択
|
例 |
と書きますか? 2 質問: PHP の
preg_match 関数が、上記の
\$# # と一致させるために
一重引用符 と
二重引用符 の式を使用している場合#、書き方? 答え:
式に必要なルールは \\\$
を表現します。 (見やすくするために、
'/\\ \\ \\ $/'上記の文字列を表すには二重引用符を使用します
"/\\ \\ \\\$/「。 (見やすくするために、
"/\\ \\ \\ \$/"何を質問していますか?
PHP の一重引用符は文字をエスケープせず、\ のみをエスケープします。式を生成するには 6
\
エスケープ \
に加えて、二重引用符は \ も必要となるため、7 つの ## が必要になります。 #\
。 推奨される関連チュートリアル:
PHP ビデオ チュートリアル
以上が正規表現の詳しい解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。