ホームページ  >  記事  >  バックエンド開発  >  PHPでよく使われる正規表現を詳しく解説

PHPでよく使われる正規表現を詳しく解説

黄舟
黄舟オリジナル
2017-03-30 17:53:524233ブラウズ

この記事では、PHPで最もよく使われる正規表現を整理して紹介します。とても良い参考値なので、以下のエディタで見てみましょう

1. チェックデジットの表現

数値: ^[0-9]*$

n桁の数値: ^d{ n} $

少なくとも n 桁の数値: ^d{n,}$

m-N 桁: ^d{m,n}$

ゼロで始まる数値およびゼロ以外の数値: ^(0|[1- 9] [0-9]*)$

ゼロ以外で始まり小数点以下 2 桁までの数値: ^([1-9][0-9]*)+(.[0-9]{1,2 })?$

小数点以下 1 ~ 2 桁の正または負の数: ^(-)?d+(.d{1,2})?$

正の数、負の数、および小数: ^(-|+ )?d+(.d+)?$

小数点以下 2 桁の正の実数: ^[0-9]+(.[0-9]{2})?$

1~3 の正の実数小数点以下の桁数:^[0-9]+(.[0-9]{1,3})?$

ゼロ以外の正の整数: ^[1-9]d*$ または ^([1-9] [0 -9]*){1,3}$ または ^+?[1-9][0-9]*$

ゼロ以外の負の整数: ^-[1-9][]0-9″ *$ または ^-[1-9]d*$

非負の整数: ^d+$ または ^[1-9]d*|0$

非正の整数: ^-[1-9]d *|0$ または ^((-d+)|(0+))$

非負の浮動小数点数: ^d+(.d+)?$ または ^[1-9]d*.d*|0。 d*[1-9 ]d*|0?.0+|0$

非正の浮動小数点数: ^((-d+(.d+)?)|(0+(.0+)?)) $ または ^(-([1 -9]d*.d*|0.d*[1-9]d*))|0?.0+|0$

正の浮動小数点数: ^[1- 9]d*.d*|0 .d*[1-9]d*$ または ^(([0-9]+.[0-9]*[1-9][0-9]*)| ([0-9]*[1 -9][0-9]*.[0-9]+)|([0-9]*[1-9][0-9]*))$

負の浮動小数点数: ^-([1 -9]d*.d*|0.d*[1-9]d*)$ または ^(-(([0-9]+.[0-9] *[1-9][0-9 ]*)|([0-9]*[1-9][0-9]*.[0-9]+)|([0-9]*[1 -9][0-9]*) ))$

浮動小数点数: ^(-?d+)(.d+)?$ または ^-?([1-9]d*.d*|0.d *[1-9]d*|0? .0+|0)$

2. チェック文字の表現

漢字: ^[u4e00-u9fa5]{0,}$

英語と数字: ^[A-Za-z0-9] +$ または ^[A-Za-z0-9]{4,40}$

長さ 3 ~ 20 のすべての文字: ^.{3,20}$

A 26 文字の英字で構成される文字列: ^[A-Za-z]+$

26 文字の大文字で構成される文字列: ^[A-Z]+$

26 文字の小文字で構成される文字列: ^[a-z]+ $

数字と 26 個の英字で構成される文字列: ^[A-Za-z0-9]+$

数字、26 個の英字またはアンダースコアで構成される文字列: ^w+$ または ^w{3,20 } $

中国語、英語、アンダースコアを含む数字: ^[u4E00-u9FA5A-Za-z0-9_]+$

中国語、英語、アンダースコアおよびその他の記号を除く数字: ^[u4E00-u9FA5A-Za-z0- 9 ]+$ または ^[u4E00-u9FA5A-Za-z0-9]{2,20}$

「^%&',;=?$」を含む文字を入力できます: [^%&',;=? $ x22]+

~を含む文字の入力は禁止です: [^~x22]+

3. 特別支援表現

メールアドレス: ^w+([-+.]w+)*@w+([- .]w+)*.w+([-.]w+)*$

ドメイン名: [a-zA-Z0-9][-a-zA-Z0-9]{0,62}(/.[a - zA-Z0-9][-a-zA-Z0-9]{0,62})+/.?

インターネット URL: [a-zA-z]+://[^s]* または ^http : //([w-]+.)+[w-]+(/[w-./?%&=]*)?$

携帯電話番号: ^(13[0-9]|14[5 | 7]|15[0|1|2|3|5|6|7|8|9]|18[0|1|2|3|5|6|7|8|9])d{8} $

電話番号 ("XXX-XXXXXXX"、"XXXX-XXXXXXXX"、"XXX-XXXXXXX"、"XXX-XXXXXXXX"、"XXXXXXX"、および "XXXXXXXX)": ^($$d{3,4}-) | d{3.4}-)?d{7,8}$

国内電話番号 (0511-4405222、021-87888822): d{3}-d{8}|d{4}-d{7}

ID 番号 (15 桁、18 桁): ^d{15}|d{18}$

短い ID 番号 (数字、x で終わる文字): ^([0-9]){7,18} ( x| -16 バイト、英数字のアンダースコアを使用可能): ^[a-zA-Z][a-zA-Z0-9_]{4,15}$

パスワード (文字で始まり、長さは 6 ~ 18、文字、数字、アンダースコアのみを含めることができます): ^[a-zA-Z]w{5,17}$

強力なパスワード (大文字、小文字、数字の組み合わせを含める必要があり、特殊文字は使用できません)長さは 8 ~ 10 の間です): ^(?=.*d)(?=.*[a-z])(?=.*[A-Z]).{8,10}$

日付形式: ^d{4 }-d{ 1,2}-d{1,2}

年間 12 か月 (01~09 および 1~12): ^(0?[1-9]|1[0-2])$

毎月 1 つの 31 日 (01~09 および 1~31): ^((0?[1-9])|((1|2)[0-9])|30|31)$

お金の入力形式:

    受け入れられるお金の表現形式は 4 つあります: 「10000.00」と「10,000.00」、および「セント」なしの「10000」と「10,000」: ^[1-9][0 -9 ]*$
  • これは、0 で始まらない任意の数値を意味します。ただし、文字「0」は渡されないことも意味するため、次の形式を使用します: ^(0|[1-9 ][0 -9]*)$
  • 0、または 0 で始まらない数値。先頭に負符号を使用することもできます: ^(0|-?[1-9][0- 9]*)$
  • これは、0 または負の可能性があり、0 で始まらない数値を意味します。ユーザーは 0 から始めましょう。お金が負になることは決してないので、負の符号も削除します。次に追加する予定です 可能な小数部分を示します: ^[0-9]+(.[0-9]+)?$
  • 小数点の後に少なくとも 1 桁が必要であることに注意してくださいしたがって、「10.」は渡されませんが、「10」と「10.2」は渡されます: ^[0-9]+(.[0-9]{2})?$
  • 小数点以下 2 桁でなければならないと規定します。厳しすぎると思われる場合は、次のようにすることもできます: ^[0-9]+(.[0-9]{1,2})?$
  • これにより、ユーザーは小数点以下 1 桁だけを書き込むことができます。次に、数値のカンマを考慮する必要があります。これを行うことができます。 ^[0-9]{1,3}(,[0-9]{3})*(.[0-9]{1,2}) ? $

  • 1 ~ 3 個の数値、その後に任意の数のカンマ + 3 個の数値。カンマは必須ではなくオプションになります: ^([0-9]+|[0-9]{1,3} (,[ 0-9]{3})*)(.[0-9]{1,2})?$

  • 注: これは最終結果です。「+」が使用できることを忘れないでください。」* "交換。"空の文字列が許容されると思われる場合 (奇妙ですが、なぜですか?) 最後に、関数を使用するときによくあるエラーはここにあります: ^([a- zA-Z]+- ?)+[a-zA-Z0-9]+\.[x|X][m|M][l|L]$

  • 漢字の正規表現: [u4e00-u9fa5 ]

全角文字: [^x00-xff] (漢字を含む、文字列の長さの計算に使用できます (全角文字の長さは 2 としてカウントされ、ASCII 文字の長さは 1 としてカウントされます))

空白行の通常式: ns*r (空白行の削除に使用できます)

HTML タグの正規表現: <(S*?)[^>]*>.*?|< * ? /> (インターネット上で流通しているバージョンはあまりにもひどいもので、上記のバージョンは部分的にしか機能せず、複雑なネストされたタグにはまだ無力です)

先頭および末尾の空白文字の正規表現: ^s*|s* $ または (^s *)|(s*$) (行頭と行末の空白文字 (スペース、タブ、フォーム フィードなどを含む) を削除するのに使用でき、非常に便利な式です)

Tencent QQ 番号: [1- 9][0-9]{4,} (Tencent QQ 番号は 10000 から始まります)

中国の郵便番号: [1-9]d{5}(?!d) (中国の郵便番号は6 桁)

IP アドレス: d+.d+.d+.d+ (IP アドレスを抽出するときに役立ちます)

上記は、PHP で最もよく使用される正規表現の詳細な説明です。 PHP 中国語 Web サイト (m.sbmmt.com)!

関連記事: HTMLタグ、スペース、改行をフィルタリングする


php正規表現コード

変数指定文字を置換するphp正規表現メソッド

PHP正規表現のマッチング置換と分割関数 例題を簡単に分析

PHP開発スキル(12) - よく使われるPHP正規表現のサンプルコードを詳しく解説

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