一般的に使用される PHP 正規表現と構文注釈:
漢字に一致する正規表現: [u4e00-u9fa5]
注: 漢字の一致は本当に頭の痛い問題ですが、この表現を使えば簡単になります
一致する全角文字 (漢字を含む): [^x00-xff]
注: 文字列の長さを計算するために使用できます (全角文字の長さは 2 としてカウントされ、ASCII 文字の長さは 1 としてカウントされます)
空白行と一致する正規表現: ns*r
注: 空白行の削除に使用できます
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 アドレスを抽出するときに役立ちます
特定の番号を一致させる:
^[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 個の英字、またはアンダースコアで構成される文字列と一致します
注: 最も基本的でよく使用される表現の一部