ホームページ  >  記事  >  バックエンド開発  >  PHP正規表現の詳細な構文

PHP正規表現の詳細な構文

小云云
小云云オリジナル
2017-11-10 16:39:432025ブラウズ

PHP 正規表現は、特定の構文ルールに準拠する一連の文字列を説明または一致させるために使用される単一の文字列を指します。
正規表現は、文字列操作の論理式です。事前に定義された特定の文字とその組み合わせを使用して、「ルール文字列」を形成します。この「ルール文字列」は、文字列のフィルタリング ロジックを表現するために使用されます。

正規表現と別の文字列を指定すると、次の目標を達成できます:

1. 正規表現のフィルタリング ロジックに準拠しているかどうか (「マッチング」と呼ばれます)。文字列から必要な特定の部分を取得します。

正規表現は、通常の文字 (a から z までの文字など) と特殊文字 (メタキャラクターと呼ばれる) で構成されるテキスト パターンです。パターンは、テキストの本文を検索するときに一致する 1 つ以上の文字列を記述します。正規表現は、文字パターンと検索文字列を照合するテンプレートとして機能します。

Quote


/


次の文字を特殊文字、リテラル文字、後方参照、または 8 進エスケープ文字としてマークします。たとえば、「n」は文字「n」と一致します。 「/n」は改行文字に一致します。シーケンス「//」は「/」に一致し、「/(」は「(」に一致します。

^


は入力文字列の先頭と一致します。

$


は入力文字列の末尾と一致します。

*


は、前の部分式に 0 回以上一致します。たとえば、zo* は、「z」および「zoo」に一致します。 * は、前の部分式に 1 つ以上一致します。たとえば、「zo+」は「zo」と「zoo」に一致しますが、「z」は前の部分式に 0 回または 1 回一致します。 (es)?" can match "do" in "do" or "does" ? Equivalent to {0,1}.

{n,}

n は非負の整数です。少なくとも n 回一致します。たとえば、「o{2,}」は「Bob」の「o」と一致しますが、「o+」のすべての「o」と一致します。「o*」と同等です。 {n,m}

m と n は両方とも非負の整数で、n

パターンに一致し、生成された一致から取得できます。コレクション。VBScript では SubMatches コレクションを使用し、Visual Basic Sc​​ripting Edition では $0 を使用します。括弧文字を一致させるには、「/(」または「/)」を使用します。これは、後で使用するために保存されます。たとえば、'industr(?:y|ies) は、'industry|industries Mode' より短い式です。


(?=パターン)

前方参照。文字列一致パターンの先頭にある検索文字列と一致します。これは非フェッチ一致です。つまり、後で使用するために一致をフェッチする必要はありません。たとえば、「Windows (?=95|98|NT|2000)」は、「Windows 2000」の「Windows」には一致しますが、「Windows 3.1」の「Windows」には一致しません。プリフェッチでは文字は消費されません。つまり、一致が発生した後、次の一致の検索は、プリフェッチを含む文字の後に開始されるのではなく、最後の一致の直後に開始されます。

(?!パターン)

否定先読みは、パターンに一致しない文字列の先頭の検索文字列と一致します。これは非フェッチ一致です。つまり、後で使用するために一致をフェッチする必要はありません。たとえば、「Windows (?!95|98|NT|2000)」は、「Windows 3.1」の「Windows」と一致しますが、「Windows 2000」の「Windows」とは一致しません。事前チェックは文字を消費しません。つまり、一致が発生した後、次の一致の検索は、事前チェックを含む文字の後に開始されるのではなく、最後の一致の直後に開始されます

概要:

上記は次のとおりです。 PHP 正規表現 式の文法的な詳細。同時に、正規表現の特徴は次のとおりであることがわかりました。

1. 非常に柔軟で、論理的で機能的です。

2. 文字列の複雑な制御を非常に簡単な方法で迅速に実現できます。

3. 初めての方にとっては、比較的曖昧で理解しにくいです。

関連する推奨事項:

正規表現のアプリケーション

PHP 正規表現の修飾子とは何ですか

php 正規表現チュートリアル: エントリからマスターまでの正規表現

以上がPHP正規表現の詳細な構文の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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