ホームページ  >  記事  >  バックエンド開発  >  php_PHP チュートリアルでよく使用される正規表現のまとめ

php_PHP チュートリアルでよく使用される正規表現のまとめ

WBOY
WBOYオリジナル
2016-07-13 10:44:361011ブラウズ

この記事には、PHP でよく使用される正規表現ルールの概要がまとめられています。必要な方は参照してください。

特定の番号を一致させる:

コードは次のとおりです コードをコピー

^[1-9]d*$ // 正の整数と一致します
^-[1-9]d*$ //負の整数に一致
^-?[1-9]d*$ //整数と一致
^[1-9]d*|0$ // 負でない整数 (正の整数 + 0) と一致します
^-[1-9]d*|0$ // 正でない整数(負の整数 + 0)と一致します
^[1-9]d*.d*|0.d*[1-9]d*$ //正の浮動小数点数と一致します
^-([1-9]d*.d*|0.d*[1-9]d*)$ // 負の浮動小数点数と一致します
^-?([1-9]d*.d*|0.d*[1-9]d*|0?.0+|0)$ // 浮動小数点数と一致します
^[1-9]d*.d*|0.d*[1-9]d*|0?.0+|0$ // 負でない浮動小数点数 (正の浮動小数点数 + 0) と一致します
^(-([1-9]d*.d*|0.d*[1-9]d*))|0?.0+|0$ //非正の浮動小数点数(負の浮動小数点数)と一致数字 + 0 )

コメント: 大量のデータを処理する場合に便利です。適用する際は修正に注意してください

特定の文字列と一致する:

コードは次のとおりです コードをコピー

^[A-Za-z]+$ //英字26文字からなる文字列と一致
^[A-Z]+$ // 26 個の大文字の英字で構成される文字列と一致します
^[a-z]+$ // 26 個の小文字の英字で構成される文字列と一致します
^[A-Za-z0-9]+$ // 数字と26個の英字で構成される文字列と一致します
^w+$ // 数字、26 文字の英字、またはアンダースコアで構成される文字列と一致します
コメント: 最も基本的でよく使用される表現のいくつか


漢字に一致する正規表現: [u4e00-u9fa5]

コードは次のとおりです コードをコピー

$str = "phpプログラミング";
if (preg_match("/^[x{4e00}-x{9fa5}]+$/u",$str)) {
print("この文字列はすべて中国語です");
} その他 {
print("この文字列はすべて中国語ではありません");
}


コメント: 中国語のマッチングは本当に頭が痛いです、この表現があれば楽になりますよ

全角文字(漢字を含む)の一致: [^x00-xff]

コードは次のとおりです コードをコピー

$str = "シングルポイント シングルポイント ログ";
if (preg_match("/^[x{4e00}-x{9fa5}]+$/u",$str)) {
print("この文字列はすべて中国語です");
} その他 {
print("この文字列はすべて中国語ではありません");
}


$alias_len = mb_strlen($value['alias'], "utf-8");
$temp_array = array();
for($i = 0;$i {
$temp_array[$i] = mb_substr($value['alias'],$i,1,"utf-8");
if(ord(substr($temp_array[$i],0,1))>'0xe0' && strlen($temp_array[$i])<3)
$temp_array[$i] = '';

}
$value['alias'] = implode('',$temp_array);


コメント: コーディング表の全角文字エンコーディング範囲 1. GBK (GB2312/GB18030) x00-xff GBK 全角エンコーディング範囲 x20-x7f ASCII

xa1-xff 中国語 gb2312 x80-xff 中国語 gbk 2. UTF-8 (Unicode) u4e00-u9fa5 (中国語) x3130-x318F (韓国語

)

xAC00-xD7A3 (韓国語) u0800-u4e00 (日本語)

空白行に一致する正規表現: ns*r

コードは次のとおりです コードをコピー

$str = "123 456";
$patten = "/s+/";
$result = split($patten,$str);
echo join("
",$result);

コメント: 空白行の削除に使用できます

HTML タグに一致する正規表現: <(S*?)[^>]*>.*?|<.*? コメント: インターネット上で流通しているバージョンは残念ながら一部しか一致せず、複雑な入れ子タグにはまだ無力です

先頭および末尾の空白文字に一致する正規表現: ^s*|s*$

コメント: 行頭と行末の空白文字(スペース、タブ、フォームフィードなどを含む)を削除するのに使えます

電子メール アドレスに一致する正規表現: w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*

コメント: フォームの検証に非常に役立ちます

URL に一致する正規表現: [a-zA-z]+://[^s]*

コメント: インターネット上で流通しているバージョンは機能が非常に限られており、基本的には上記のバージョンでニーズを満たすことができます

一致するアカウントが合法かどうか (文字で始まり、5 ~ 16 バイトが許可され、英数字のアンダースコアが許可されます): ^[a-zA-Z][a-zA-Z0-9_]{4,15}$

コメント: フォームの検証に非常に役立ちます

国内電話番号の一致: d{3}-d{8}|d{4}-d{7}

コメント: 一致する形式は 0511-4405222 や 021-87888822 などです

Tencent QQ 番号と一致します: [1-9][0-9]{4,}

コメント: Tencent QQ アカウントは 10000 から始まります

中国の郵便番号と一致します: [1-9]d{5}(?!d)

コメント: 中国の郵便番号は6桁の数字です

一致する ID カード: d{15}|d{18}

コメント: 中国のIDカードは15桁か18桁

一致する IP アドレス: d+.d+.d+.d+

コメント: IPアドレスを抽出するときに便利です

役に立つかもしれない正規表現に関連したコンテンツ

One、a-z A-Z_0-9 //最も一般的な文字

2. (bfw)(sda) //括弧で囲まれた単位記号。1 つの括弧は全体を表します
3. [sdwe][^mjnb] //アトミック テーブル内の角括弧で囲まれたアトミック テーブル ^ は除外または反対の内容を表します
4. エスケープ文字
d には [0-9] のすべての数字が含まれます
すべての数字を除く D [^0-9]
w にはすべての英字 [a-zA-Z_0-9] が含まれます
W (すべての英語文字を除く) [^a-zA-Z_0-9] -----特殊文字と一致します
s には、復帰、改行、改ページなどの空白領域が含まれています。[fnr]

4、正規表現メタキャラクター

* 前のコンテンツと 0 回以上一致します

. コンテンツと 0 回以上一致しますが、キャリッジ リターンとライン フィードは含めません
+ 前のコンテンツを 1 回以上一致させます
? 前のコンテンツと 0 回または 1 回一致します
| php での || の使用法と同様の選択マッチング ^ 文字列の先頭の内容と一致します
$ は文字列の末尾の内容と一致します
b は単語の境界 (スペースまたは特殊記号) と一致します
B は、単語境界を持つ予期しないコンテンツを除いて一致します
{m} は、m 回繰り返された前のコンテンツと一致します
{m,} は、前のコンテンツの m 回以上の繰り返し回数に一致します
{m,n} は、前のコンテンツの m 回から n 回の繰り返し回数に一致します
() 全体の一致をマージしてメモリに置きます。12 を使用すると、順番に呼び出しを取得できます

http://www.bkjia.com/PHPjc/633088.html

tru​​ehttp://www.bkjia.com/PHPjc/633088.html技術記事この記事には、PHP でよく使用される正規表現ルールの概要がまとめられています。必要な方は参照してください。 特定の数値と一致する: コードは次のとおりです コードをコピー ^[1-9]d*$ //正の整数と一致します...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。