正規表現は、Web サイトを作成するときによく使用されます。ここでは、参照および変更のみを目的として、いくつかの説明と例を示します:
数字の照合
"^\d $" //非負の整数 (正の整数 0)
"^[0-9]*[1-9][0-9] *$ " //正の整数
"^((-\d )|(0 ))$" //非正の整数(負の整数0)
"^-[0- 9 ]*[1-9][0-9]*$" // 負の整数
"^-?\d $" // 整数
"^\d (\. \ d )?$" //非負の浮動小数点数 (正の浮動小数点数 0)
"^(([0-9] \.[0-9]*[1-9][0 -9 ]*)|([0-9]*[1-9][0-9]*\.[0-9] )|([0-9]*[1-9][0-9] *) )$" //正の浮動小数点数
"^((-\d (\.\d )?)|(0 (\.0 )?))$" //非正浮動小数点数 (負の浮動小数点数 0)
"^((([0-9] \.[0-9]*[1-9][0-9]*)|([ 0-9]*[ 1-9][0-9]*\.[0-9] )|([0-9]*[1-9][0-9]*)))$" //負の浮動小数点数
"^(-?\d )(\.\d )?$" //浮動小数点数
一致文字
"^[A -Za-z] $" / /英大文字26文字からなる文字列
"^[A-Z] $" //英大文字26文字からなる文字列
"^[ a-z] $" / /英小文字26文字からなる文字列
"^[A-Za-z0-9] $" //数字と英文字26文字からなる文字列
"^\w $" //数字、26 個の英字、またはアンダースコアで構成される文字列
一致例
"^[\w-] (\.[\w-] )* @[\w-] (\.[\w-] ) $" //メールアドレス
"^[a-zA-z] ://(\w (-\w )* )( \.(\w (-\w )*))*(\?\S*)?$" //url
/^(d{2}|d{4} )- ((0([1-9]{1}))|(1[1|2]))-(([0-2]([1-9]{1}))|(3[0 |1 ]))$/ // 年-月-日
/^((0([1-9]{1}))|(1[1 |2 ]))/(([0-2]([1-9]{1}))|(3[0|1]))/(d{2}|d{4})$/ // 月/日/年
"^([w-.] )@(([[0-9]{1,3}.[0-9]{ 1, 3}.[0-9]{1,3}.)|(([w-] .) ))([a-zA-Z]{2,4}|[0-9]{1, 3} )(]?)$" //エミル
/^((\ ?[0-9]{2,4}\-[0-9] {3 ,4}\-)|([0-9]{3,4}\-))?([0-9]{7,8})(\-[0-9] )?$/ / /電話
#"^(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1 ,2 }|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5]).(d {1 ,2}|1dd|2[0-4]d|25[0-5])$" //IP アドレス
その他の一致
#中国語の文字と一致する正規表現: [\u4e00-\u9fa5]
国内電話番号の一致: (\d{3}- |\d{4}-)? (\d{8}|\d{7})?
Tencent QQ 番号と一致します: ^[1-9]*[1-9][0-9 ]*$
正規表現のコンテキストでのメタ文字とその動作:
\ 次の文字を特殊文字、リテラル文字、後方参照、または 8 進エスケープ文字としてマークします。
#^ 入力文字列の先頭と一致します。 RegExp オブジェクトの Multiline プロパティが設定されている場合、^ は '\n' または '\r' の後の位置にも一致します。 $ 入力文字列の末尾と一致します。 RegExp オブジェクトの Multiline プロパティが設定されている場合、$ は '\n' または '\r' の前の位置にも一致します。 * 前の部分式と 0 回以上一致します。 前の部分式と 1 回以上一致します。 {1,} と同等。 ? 直前の部分式と 0 回または 1 回一致します。 ? {0,1} に相当します。 {n} n は、特定の回数 n 回一致する非負の整数です。 {n,} n は負ではない整数で、少なくとも n 回一致します。 {n,m} m と n は両方とも非負の整数であり、n ? この文字が他の修飾子 (*、 、 ?、 {n}、 {n,}、 {n,m}) のすぐ後に続く場合、一致パターンは非貪欲です。非貪欲モードは検索文字列の可能な限り少ない部分と一致しますが、デフォルトの貪欲モードは検索文字列の可能な限り多くの部分と一致します。.「\n」を除く任意の 1 文字と一致します。 「\n」を含む任意の文字と一致するには、「[.\n]」のようなパターンを使用します。
(パターン) パターンに一致し、この一致を取得します。
(?:pattern) はパターンに一致しますが、一致結果は取得されません。これは、これは非取得一致であり、後で使用するために保存されないことを意味します。
(?=パターン) 前方参照。文字列一致パターンの先頭にある検索文字列と一致します。これは非フェッチ一致です。つまり、後で使用するために一致をフェッチする必要はありません。
(?!pattern) (?=pattern) の反対の負の検索。
x|y は x または y と一致します。
[xyz] 文字セット。
[^xyz] 負の文字セット。
[a-z] 文字範囲。指定された範囲内の任意の文字と一致します。
[^a-z] 負の文字範囲。指定された範囲内にない任意の文字と一致します。
\b は、単語とスペースの間の位置を指す単語境界に一致します。
\B 単語以外の境界と一致します。
\cx は、x で指定された制御文字と一致します。
\d は数字と一致します。 [0-9]に相当します。
\D は数字以外の文字と一致します。 [^0-9] に相当します。
\f はフォーム フィード文字と一致します。 \x0c および \cL に相当します。
\n は改行文字と一致します。 \x0a および \cJ に相当します。
\r は復帰文字と一致します。 \x0d および \cM に相当します。
\s は、スペース、タブ、フォーム フィードなどを含む任意の空白文字と一致します。 [ \f\n\r\t\v] と同等。
\S は空白以外の文字に一致します。 [^ \f\n\r\t\v] と同等。
\t はタブ文字と一致します。 \x09 および \cI に相当します。
\v は垂直タブ文字と一致します。 \x0b および \cK に相当します。
\w アンダースコアを含む任意の単語文字と一致します。 「[A-Za-z0-9_]」と同等。
\W は、単語以外の文字に一致します。 「[^A-Za-z0-9_]」と同等。
\xn は n と一致します。n は 16 進数のエスケープ値です。 16 進エスケープ値は正確に 2 桁の長さである必要があります。
\num は num と一致します。ここで、num は正の整数です。取得した一致への参照。
\n 8 進エスケープ値または後方参照を識別します。 \n の前に少なくとも n 個のフェッチされた部分式がある場合、n は後方参照です。それ以外の場合、n が 8 進数 (0 ~ 7) の場合、n は 8 進数のエスケープ値になります。
\nm 8 進エスケープ値または後方参照を識別します。 \nm の前に少なくとも nm 個のフェッチされた部分式がある場合、nm は後方参照です。 \nm の前に少なくとも n の get がある場合、n は後方参照であり、その後にリテラル m が続きます。前の条件がどちらも true でない場合、n と m が両方とも 8 進数 (0 ~ 7) であれば、\nm は 8 進数のエスケープ値 nm と一致します。
\nml n が 8 進数 (0 ~ 3) で、m と l が両方とも 8 進数 (0 ~ 7) の場合、8 進数のエスケープ値 nml と一致します。
\un は n と一致します。n は 4 桁の 16 進数で表される Unicode 文字です。
中国語の文字に一致する正規表現: [u4e00-u9fa5]
一致する 2 バイト文字 (中国語の文字を含む): [^x00-xff]
# Regular空行に一致する式: n[s| ]*r
HTML タグに一致する正規表現: /<(.*)>. *|<(.* )>/
先頭と末尾のスペースに一致する正規表現: (^s*)|(s*$)
電子メール アドレスに一致する正規表現: w ([- .]w )*@w ([-.]w )*.w ([-.]w )*
URL に一致する正規表現: http://([w-] .) [w-] (/[w- ./?%&=]*)?
正規表現を使用して、Web フォームのテキスト ボックスの入力内容を制限します:
正規表現を使用して、中国語を入力できることのみを制限します: onkeyup="value= value.replace(/[^u4E00-u9FA5]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/ [^u4E00-u9FA5]/g, ''))"
正規表現を使用して全角文字のみの入力を制限します: onkeyup="value=value.replace(/ [^uFF00-uFFFF] /g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^uFF00-uFFFF]/g,''))"
正規表現を使用して入力を数値に制限します: onkeyup="value=value.replace(/[^d]/g,'') "onbeforepaste="clipboardData .setData('text', ClipboardData.getData('text').replace(/[^d]/g,''))"
正規表現を使用する 数字と英語のみを入力できます: onkeyup="value=value.replace(/[W]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace( /[^d]/g, ''))"
一般的に使用される通常の例
1. 負でない整数: ^\d $
2. 正の整数: ^[0-9]*[1-9][0-9]*$
3. 非正整数:^((-\d )|(0 ))$
4、負の整数: ^-[0-9]*[1-9][0 - 9]*$
5. 整数: ^-?\d $
6. 非負浮動小数点数:^\d (\.\d )?$
7、正の浮動小数点数: ^((0-9) \.[0-9 ]*[1 -9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9] )|([0-9]*[ 1-9] [0-9]*))$
8. 非正の浮動小数点数: ^((-\d \.\d )?) |(0 (\. 0 )?))$
9. 負の浮動小数点数: ^(-((正の浮動小数点数正規表現)))$
10. 英語の文字列: ^[A-Za-z] $
##11. 英語の大文字の文字列: ^[ A-Z] $
12. 英語の小文字の文字列: ^[a-z] $
13. 英語の文字列: ^[A-Za -z0-9] $
14. 英数字と下線付きの文字列: ^\w $
#15. 電子メール アドレス: ^[\w-] (\.[\w-] )*@[\w-] (\.[\w-] ) $
##17 、ポストコーディング: ^[1-9]\d{5}$
18、中国語: ^[\u0391-\uFFE5] $
19. 電話番号: ^((\(\d{2,3}\))|(\d{3}\-))?(\(0\d{2, 3} \)|0\d{2,3}-)?[1-9]\d{6,7}(\-\d{1,4})?$
20. 携帯電話番号: ^((\(\d{2,3}\))|(\d{3}\-))?13\d{9}$
21. 全角文字 (漢字を含む): ^\x00-\xff
22. 先頭と末尾の一致スペース: (^ \s*)|(\s*$) (vbscript のようなトリム関数)
##24. 空行と一致します: \n[\s| ]*\r
25. 情報内のネットワーク リンクを抽出します: (h|H)(r|R)(e|E)(f|F) *= *('| " )?(\w|\\|\/|\.) ('|"| *|>)?
26.情報: \w ([- .]\w )*@\w ([-.]\w )*\.\w ([-.]\w )*
27. 情報内の画像リンクを抽出します: (s|S)(r|R)(c|C) *= *('|")?(\w|\\|\/|\.) ('| "| *|>)?
28. 情報内の IP アドレスを抽出します: (\d )\.(\d )\.(\ d )\. (\d )
29. 情報内の中国の携帯電話番号を抽出します: (86)*0*13\d{9}
30. 情報から中国の固定電話番号を抽出します: (\(\d{3,4}\)|\d{3,4}-|\s)? \d{8}
31. 情報 (携帯電話と固定電話を含む) 内の中国の電話番号を抽出します: (\(\d{3,4}\)| \d{3,4} -|\s)?\d{7,14}
32. 情報内の中国の郵便番号を抽出します: [1-9] ]{1}(\d ) {5}
33. 情報内の浮動小数点数 (つまり、10 進数) を抽出します: (-?\d*)\.? \d
34. 情報内の任意の数値を抽出します: (-?\d*)(\.\d )?
35. IP: (\d )\.(\d )\.(\d )\.(\d )
36、電話エリアコード: /^0\d{2, 3}$/
37、テンセント QQ 番号: ^[1-9]*[1-9][0- 9]*$
38. アカウント番号 (文字で始まり、5 ~ 16 バイト、英数字のアンダースコアを使用可能): ^[a-zA-Z][a -zA-Z0-9_]{4,15 }$
##39、中国語、英語、数字、下線: ^[\u4e00-\u9fa5_a-zA-Z0-9 ] $
##追加
中国語の文字に一致する正規表現: [\u4e00-\u9fa5]
2 バイト文字 (漢字を含む) に一致します: [^\x00-\xff]
空白に一致する正規表現行:\n[\ s| ]*\r
HTML タグに一致する正規表現: /<(.*)>.*<\ 1=" ">| <(.*)>/
先頭および末尾のスペースに一致する正規表現: (^\s*)|(\s*$)
IP アドレスに一致する正規表現: /(\ d ) \.(\d )\.(\d )\.(\d )/g //
電子メール アドレスに一致する正規表現:\w ( [- .] \w )*@\w ([-.]\w )*\.\w ([-.]\w )*
URL の一致 URL の正規表現: http://(/[\w-] \.) [\w-] (/[\w- ./?%&=]*)?
sql ステートメント: ^(select|drop|delete|create|update|insert).*$
以上がPHPでよく使われる正規表現の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。