ホームページ  >  記事  >  バックエンド開発  >  よく使用される正規表現 (数値、文字、固定形式) のコレクション

よく使用される正規表現 (数値、文字、固定形式) のコレクション

高洛峰
高洛峰オリジナル
2017-01-09 16:55:321772ブラウズ

正規表現は、文字列に特定の部分文字列が含まれているかどうかを確認したり、一致する部分文字列を置き換えたり、文字列から特定の条件を満たす部分文字列を削除したりするために使用できる文字列一致パターンを記述します。

ディレクトリをリストする場合、dir *.txt または ls *.txt 内の *.txt は正規表現ではありません。これは、ここでの * の意味が正規表現の * とは異なるためです。

正規表現の構築は、数式の作成と同じです。つまり、さまざまなメタキャラクタや演算子を使用して、小さな式を組み合わせて、より大きな式を作成できます。正規表現のコンポーネントは、単一の文字、文字のコレクション、文字の範囲、文字間の選択、またはこれらすべてのコンポーネントの任意の組み合わせにすることができます。

正規表現は、通常の文字 (文字 a ~ z など) と特殊文字 (「メタ文字」と呼ばれる) で構成されるテキスト パターンです。パターンは、テキストを検索するときに一致する 1 つ以上の文字列を記述します。正規表現は、文字パターンと検索文字列を照合するテンプレートとして機能します。

以下は、編集者が仕事でよく使用するいくつかの正規表現を毎日収集したものです。検証によく使用される正規表現:

数値に関連する正規表現

数値: ^[0-9]*$

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})?$

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

negative整数: ^-[1-9]d*|0$ または ^((-d+)|(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)$

文字に関連する正規表現

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

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

数字と 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}$

アカウントは合法ですか (文字で始まり、5 ~ 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}$

固定形式の従来の正規表現

メールアドレス: ^ 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: ^ http://( [w-]+.)+[w-]+(/[w-./?%&=]*)?$

携帯電話番号: ^(13[0-9]|17 [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}$

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

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

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

Tencent QQ 番号: [1- 9][0-9]{4,8} (Tencent QQ 番号は 10000 から始まり、現在の最長は 10 桁です)

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

IPアドレス: d+.d+.d+.d+ (IPアドレスを抽出するときに便利です)

IPアドレス: ((?:(?:25[0-5]| 2[0 -4]\d|[01]?\d?\d)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d ?\d ))

上記は編集者が紹介したよく使われる正規表現(数値、文字、定型文)をまとめたものですので、お役に立てれば幸いです。

より一般的に使用される正規表現 (数値、文字、固定形式) 関連の記事については、PHP 中国語 Web サイトに注目してください。


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