ホームページ  >  記事  >  バックエンド開発  >  PHP 正規表現理論

PHP 正規表現理論

墨辰丷
墨辰丷オリジナル
2018-05-16 14:19:251558ブラウズ

この記事では主に PHP 正規表現の理論的な知識を紹介します。興味のある方はぜひ参考にしてください。

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

1 数値:
^[0-9]*$
2 n桁の数値:
^d{n}$
3 n桁以上の数値:
^d{ n ,}$
4 m-n 桁の数値:
^d{m,n}$
5 0 および 0 以外で始まる数値:
^(0|[1-9][0-9]*)$
6ゼロ以外で始まり、小数点以下 2 桁までの数値:
^([1-9][0-9]*)+(.[0-9]{1,2})?$
7 with 1- 2 桁の正または負の小数:
^(-)?d+(.d{1,2})?$
8 正の数、負の数、および小数:
^(-|+)?d+(.d+)? $
9 小数点以下 2 桁の正の実数:
^[0-9]+(.[0-9]{2})?$
10 小数点以下 1 ~ 3 桁の正の実数:
^[0 -9] +(.[0-9]{1,3})?$
11 ゼロ以外の正の整数:
^[1-9]d*$ または ^([1-9][0-9] *){ 1,3}$ または ^+?[1-9][0-9]*$
12 ゼロ以外の負の整数:
^-[1-9][]0-9"*$ または ^ -[1 -9]d*$
13 負でない整数:
^d+$ または ^[1-9]d*|0$
14 正でない整数:
^-[1-9]d*| 0$ または ^( (-d+)|(0+))$
15 非負の浮動小数点数:
^d+(.d+)?$ または ^[1-9]d*.d*|0.d *[1-9]d *|0?.0+|0$
16 非正の浮動小数点数:
^((-d+(.d+)?)|(0+(.0+)?)) $ または ^(-([1- 9]d*.d*|0.d*[1-9]d*))|0?.0+|0$
17 正の浮動小数点数:
^[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]*))$
18 負の浮動小数点数:
^-([ 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]* )))$
19 浮動小数点数:
^(-?d+)(.d+)?$ または ^-?([1-9]d*.d*| 0.d*[1-9]d*| 0?.0+|0)$

2. チェック文字の表現

1 漢字:
^[u4e00-u9fa5]{0,}$
2および数字:
^[A-Za-z0 -9]+$ または ^[A-Za-z0-9]{4,40}$
3 長さ 3 ~ 20 のすべての文字:
^.{3,20 }$
4 は 26 個の英字で構成されています 文字列:
^[A-Za-z]+$
5 26 個の大文字英文字の文字列:
^[A-Z]+$
6 26 個の小文字英文字の文字列:
^ [a-z]+$
7 数字と 26 個の英字で構成される文字列:
^[A-Za-z0-9]+$
8 数字、26 個の英字またはアンダースコアで構成される文字列:
^ w+$ または ^ w{3,20}$
9 中国語、英語、アンダースコアを含む数字:
^[u4E00-u9FA5A-Za-z0-9_]+$
10 中国語、英語、数字(アンダースコアおよびその他の記号は含まない):
^[ u4E00-u9FA5A-Za-z0-9]+$ または ^[u4E00-u9FA5A-Za-z0-9]{2,20}$
11 ^%&',;=?$" などを入力できます。 :
[^%&',;=?$x22]+
12 ~ を含む文字の入力は禁止されています:
[^~x22]+

3. 特別な要件の表現

1. メールアドレス:
^w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*$
2 、ドメイン名:
[a-zA - Z0-9][-a-zA-Z0-9]{0,62}(/.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+/ . ?
3、インターネット URL:
[a-zA-z]+://[^s]* または ^http://([w-]+.)+[w-]+(/[w-. / ?%&=]*)?$
4、携帯電話番号:
^(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}$
5 、電話番号 ("XXX-XXXXXXX"、"XXXX-XXXXXXXX"、" XXX- XXXXXXX"、"XXX-XXXXXXXX"、"XXXXXXX"、および "XXXXXXXX):
^((d{3,4}-)|d{3.4}-)?d{7,8}$
6 国内電話番号 (0511-4405222、021-87888822):
d{3}-d{8}|d{4}-d{7}
7、ID 番号:
15 または 18 桁の ID カード:
^d{15 } |d{18}$
15 桁の ID カード:
^[1-9]d{7}((0d)|(1[0-2]))(([0|1|2]d) |3 [0-1])d{3}$
18 桁の ID カード:
^[1-9]d{5}[1-9]d{3}((0d)|(1[0- 2]) )(([0|1|2]d)|3[0-1])d{4}$
8。短い ID 番号 (数字、x で終わる文字):
^([0-9 ]){ 7,18}(x| 有効 (文字で始まり、5 ~ 16 バイトを許可し、英数字のアンダースコアを許可):
^[a-zA-Z][a-zA-Z0-9_]{4,15 }$
10、パスワード (文字で始まり、長さは 6 ~ 18、文字、数字、アンダースコアのみを含めることができます):
^[a-zA-Z]w{5,17}$
11、強力なパスワード (大文字、小文字、数字の組み合わせが含まれている必要があります)、特殊文字は使用できません。長さは 8 ~ 10 です):
^(?=.*d)(?=.*[a-z])(?=. *[A-Z]).{8,10}$
12. 日付形式:
^d{4}-d{1,2}-d{1,2}
13. 1 年の 12 か月 (01~09)と 1~12):
^(0?[ 1-9]|1[0-2])$
14、月の 31 日 (01~09 と 1~31):
^((0?[ 1-9])|((1|2) [0-9])|30|31)$
15. お金の入力形式:
16. 受け入れられるお金の表現には 4 つの形式があります。 " と "10,000.00"、および "セント" のないもの "10000" と "10,000":
^[1-9][0-9]*$
17. 2. これは、0 で始まらない任意の数値を意味します。しかし、これは文字「0」が渡されないことも意味するので、次の形式を使用します:
^(0|[1-9][0-9]*)$
18, 3. 0 または数値は 0 で始まりません。先頭に数字を使用することもできます。負符号:
^(0|-?[1-9][0-9]*)$
19, 4。これは 0 または数字を表します。これは負の値である可能性があり、0 から始まることはできません。ユーザーは 0 から始めましょう。次に、お金を負にすることはできないので、負の符号も削除しましょう。
^[0] -9]+(.[0-9]+)?$
20, 5. 小数点の後に少なくとも 1 桁が必要であるため、「10」は渡されず、「10」が渡されることに注意する必要があります。
^[0-9]+( .[0-9]{2})?$
21. 6. このようにして、小数点の後に小数点以下 2 桁が必要であることを規定します。厳しすぎると思われる場合は、次のようにすることもできます:
^[0-9]+(.[0- 9]{1,2})?$
22. 7. これにより、ユーザーは 1 つだけ書くことができます。次に、数値内のカンマを考慮する必要があります:
^[0-9]{1,3 }(,[0-9]{3})*(.[0-9]{ 1,2})?$
23、8.1 ~ 3 桁の後に任意のカンマ + 3 桁が続きます。カンマは省略可能ですが必須ではありません:
^([0-9]+|[0-9]{1, 3}(,[0-9]{3})*)(.[0-9]{1,2 })?$
24. 注: これは最終結果であることを忘れないでください。空の文字列が受け入れられると思われる場合は、「*」に置き換えることができます (奇妙ですが、なぜですか?) 最後に、関数中にバックスラッシュを削除することを忘れないでください。一般的なエラーはここにあります
25、xml ファイル:
^([a -zA-Z]+-?)+[a-zA-Z0-9]+\.[x | 内では、文字列の長さを計算するために使用できます (全角文字の長さは 2 としてカウントされます)。 、ASCII 文字の長さは 1)) としてカウントされます
28. 空白行の正規表現: ns*r (空白行の削除に使用できます)
29. HTML タグの正規表現:
<(S*? )[^>]*>.*?|<.*? (インターネット上で流通しているバージョンはあまりにもひどいもので、部分的にしか動作しませんが、それでも動作します)複雑なネストされたタグについては何もしません)
30. 先頭と末尾の空白文字の正規表現: ^s*|s*$ または (^s*)|(s*$) (行の空白文字を削除するために使用できます)最初の行の終わり (スペース、タブ、フォーム フィードなどを含む)、非常に便利な表現)
31、Tencent QQ 番号: [1-9][0-9]{4,} (Tencent QQ 番号は次から始まります) 10000)
32、中国の郵便番号: [1-9]d{5}(?!d) (中国の郵便番号は 6 桁です)
33、IP アドレス: d+.d+.d+.d+ ( IP アドレスを抽出するときに便利です)

関連する推奨事項:


Php の正規表現


js 生年月日の正規表現の検証

PHP 正規表現のキャプチャ グループと非キャプチャ グループ

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

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