正規表現構文の基礎
PCREにおける文字クラス、量指定子、アンカー、グループを学びます
「正規表現構文の基礎」はCoddyKit上の無料PHP Academyレッスンです。 これはレッスン1/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはPHP Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 PHP Academyコースには全4レッスンが含まれています。
正規表現とは何ですか
正規表現(regex)は、文字列の集合を表すパターンです。PHPではPCRE(Perl互換正規表現)エンジンを使用します。
デリミター
PHPの正規表現パターンはデリミターで囲みます。一般的には/を使用しますが、パターンにスラッシュが含まれる場合は#も使用できます。
<?php
$pattern = '/hello/i'; // case-insensitive
$pattern2 = '#https?://#'; // # avoids escaping /文字クラス
角括弧を使用すると、集合から1文字にマッチさせられます:[aeiou]、[a-z]、[^0-9](否定)。
省略形の文字クラス
組み込みの省略形には、\d(数字)、\w(単語文字)、\s(空白文字)と、それぞれの否定形である\D、\W、\Sがあります。
アンカー
^は文字列の先頭、$は末尾にマッチします。文字列全体を検証するには、これらを使用します。
<?php
$pattern = '/^\d{5}$/'; // exactly 5 digits量指定子
繰り返し回数を指定します:*(0回以上)、+(1回以上)、?(0回または1回)、{3}(ちょうど3回)、{2,5}(2~5回)。
ドットメタ文字
.は改行以外の任意の文字にマッチします。文字どおりのドットには\.のようにエスケープします。
キャプチャグループ
丸括弧を使用するとキャプチャグループが作成され、マッチした内容を抽出や後方参照に利用できます。
<?php
$pattern = '/([A-Z]{2})(\d{4})/'; // captures letters + digits非キャプチャグループ
(?:...)を使用すると、キャプチャせずにグループ化できます。グループの値が不要な場合は、こちらのほうが高速です。
<?php
$pattern = '/(?:foo|bar)baz/'; // foobaz or barbaz選択(Alternation)
パイプ|はORとして機能し、左側または右側にマッチします。
<?php
$pattern = '/^(cat|dog|bird)$/';フラグ/修飾子
閉じデリミターの後に追加します:i(大文字と小文字を区別しない)、m(複数行)、s(ドットが改行にマッチ)、u(Unicode)。
貪欲マッチと最短マッチ
量指定子はデフォルトでは貪欲で、可能な限り多くマッチします。?を追加すると最短マッチになり、.*?は可能な限り少なくマッチします。
クイックチェック
任意の数字にマッチする省略形はどれですか?
よくある質問
「正規表現構文の基礎」レッスンは無料ですか?
はい。「正規表現構文の基礎」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、PHP Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 PHP Academyコースには全4レッスンが含まれています。
「正規表現構文の基礎」で何を学びますか?
PCREにおける文字クラス、量指定子、アンカー、グループを学びます ブラウザで直接実行するハンズオンコードでPHP Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
PHP Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのPHP Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン1/4です。
「正規表現構文の基礎」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このPHP Academyレッスンでコードを書いて実行できますか?
はい。すべてのPHP Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。