PHP 正規表示式 (preg match)

2021-04-30 19:00:14 字數 2229 閱讀 1547

正規表現をまとめてみる。

preg_match で使われる正規表現の書き方の前に

まずは、

<検索対象文字列が1行か?それとも複數行か?>

文字列の中からパターンに合致する部分を探し出す場合、その文字列が1行(改行文字が1つ)なのか、複數行(改行文字が複數)なのかで、マッチ演算子を適切に指定。

preg_match("/パターン/", 調べる文字列);

"/パターン/"  //文字列の1行目のみを調べる

"/パターン/g"  //複數行を調べる

"/パターン/s"  //改行文字を無視し、1行とみなして調べる

ついでに、

"/パターン/i"  //文字列の大文字・小文字を區別しない

"/パターン/is"  //大文字・小文字を區別せず、1行とみなして調べる

<基本>

preg_match は、文字列中に現れた最初のパターンのみを検出。

■文字・文字列

・「a」 にマッチ

preg_match("/a/", $string);

・「ab」 にマッチ

preg_match("/ab/", $string);

■先頭・末尾

・の先頭の 「a」 にマッチ

preg_match("/^a/", $string);

・行の末尾の 「a」 にマッチ

preg_match("/a$/", $string);

・行の先頭の 「a」 にマッチ(改行文字が現れる度に次の文字を調べる)

preg_match("/^a/g", $string);

・行が 「abcde」 にマッチ

preg_match("/^abcde$/", $string);

・文字列の先頭の 「a」 にマッチ

preg_match("/$aa/", $string);

・文字列の末尾の 「a」 にマッチ

preg_match("/a$z/", $string);

■繰り返し

・0個以上の 「a」

preg_match("/a*/", $string);

・1個以上の 「a」

preg_match("/a+/", $string);

・0個か1個の 「a」

preg_match("/b?/", $string);

・「a」に続いて、0個以上の 「b」

preg_match("/ab*/", $string);

・「a」に続く0個以上の 「b」で、最も短かいもの

preg_match("/ab*/", $string);

・1個から3個続きの「a」

preg_match("/a/", $string);

・3個続きの「a」

preg_match("/a/", $string);

・3個以上の「a」

preg_match("/a/", $string);

■任意の1文字

・(改行文字を除く)任意の1文字

preg_match("/./", $string);

・(改行文字を含む)任意の1文字

preg_match("/./s", $string);

・「a」 と 「b」 に任意の1文字(改行除)が挾まれている

preg_match("/a.b/", $string);

■[ ] 內の任意の1文字

・「a」 か 「b」 どちらか1文字

preg_match("/[ab]/s", $string);

・「a」 から 「z」 の1文字。アルファベット小文字

preg_match("/[a-b]/s", $string);

・「a」 から 「z」 の1文字。アルファベット大文字

preg_match("/[a-z]/s", $string);

・アルファベットの1文字

preg_match("/[a-za-z]/s", $string);

・アルファベット以外の1文字

preg_match("/[^a-za-z]/s", $string);

■エスケープシーケンス

?t  タブ

?n  改行

?w  アルファベットとアンダースコア

?w  アルファベットとアンダースコア以外

?s  空白文字

?s  空白文字以外

?12  aschii文字の8進數表記

?x811  aschii文字の16進數表記

php正規表示式詳解,PHP正規表示式使用詳解

操作符 描述 轉義符 圓括號和方括號 限定符 anymetacharacter 位置和順序 或 操作 全部符號解釋 字元 描述 將下乙個字元標記為乙個特殊字元 或乙個原義字元 或乙個 向後引用 或乙個八進位制轉義符。例如,n 匹配字元 n n 匹配乙個換行符。序列 匹配 而 則匹配 匹配輸入字串的開...

PHP正規表示式

php正規表示式的定義 用於描述字元排列和匹配模式的一種語法規則。它主要用於字串的模式分割 匹配 查詢及替換操作。php中的正則函式 php中有兩套正則函式,兩者功能差不多,分別為 一套是由pcre perl compatible regular expression 庫提供的。使用 preg 為字...

PHP正規表示式

今天起,會開始弄乙個php教程系列文章.主要是針對正規表示式的.大概的內容排序是這樣安排的 1.php 中的正規表示式 2.八個實用的php正規表示式 3.如何書寫更易閱讀的php正規表示式 4.半小時精通正規表示式 5.正則在文章採集系統中的應用及常見問題答疑 6.更多策劃中 投稿,完善本系列,讓...