シェルでよく使われる正規表現
“^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]+$” //A 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]
全角文字 (漢字を含む) に一致する: [^x00-xff]
空白行に一致する正規表現 数式: n[ s| ]*r
HTML タグに一致する正規表現: /<(.*)>.*1>gt;|<(.*) />/
先頭および末尾のスペースに一致する正規表現: (^ s*)|(s*$)
メールアドレスに一致する正規表現: w+([-+.]w+)*@w+([-.]w+)*.w+([-. ]w+)*
正規表現に一致URL: ^[a-zA-z]+://(\w+(-\w+)*)(\.(\w+(-\w+)*))* (\?\S*)?$
です一致する正当なアカウント (文字で始まり、5 ~ 16 バイトが許可され、英数字のアンダースコアが許可されます): ^[a-zA-Z][a-zA-Z0-9_]{4 ,15}$
国内の電話番号と一致する: (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) 前方検索。文字列一致パターンの先頭にある検索文字列と一致します。これは非フェッチ一致です。つまり、後で使用するために一致をフェッチする必要はありません。
(?!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 は、スペース、タブ、フォーム フィードなどを含む任意の空白文字と一致します。 【fnrtv】に相当。
S は空白以外の文字と一致します。 [^ fnrtv] に相当します。
タブ文字と一致しません。 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 が続きます。前述の条件がどちらも当てはまらず、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]
全角文字 (中国語の文字を含む) に一致する: [^x00-xff]
空白行に一致する正規表現: n[s| ]*r
HTML タグに一致する正規表現: /<(.*)>.*1>gt;|<(.*) />/
先頭および末尾のスペースに一致する正規表現 式: (^ 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,"))"
よく使われる正規表現
中国語の文字に一致する正規表現: [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 式に一致する正規表現: http://(/[w-]+. )+[w-]+(/[w- ./?%&=]*)?
sql ステートメント: ^(select|drop |delete|create|update|insert).*$
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。 $
12. 英語の小文字の文字列: ^[a-z]+$
13. 英語の文字と数字の文字列: ^[A-Za-z0-9]+$
14. 英数字と下線付きの文字列: ^ w+$
15. メールアドレス: ^[w-]+(.[w-]+)*@[w-]+(.[w-]+)+$
16、URL: ^[a-zA-Z ]+://(w+(-w+)*)(.(w+(-w+)*))*(?s*)?$
または: ^http://[A- Za-z0-9]+ .[A-Za-z0-9]+[/=?%-&_~`@[]':+!]*([^& lt;>""])*$
17. 郵便番号 :^[1-9]d{5}$
18、中国語: ^[u0391-uFFE5]+$
19、電話番号: ^(((d{2, 3}))|(d {3}-))?((0d{2,3})|0d{2,3}-)?[1-9] d{6,7}(-d{1, 4})?$
20。携帯電話番号: ^(((d{2,3}))|(d{3}-))?13d{9}$
21。 (漢字を含む): ^ x00-xff
22. 先頭と末尾のスペースの一致: (^s*)|(s*$) (vbscript のようなトリミング関数)
23. HTML タグの一致: <(.* )>.*< /1<(.*) />
24. 情報内のネットワーク リンクを抽出します。 )(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*13d{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+)
36。電話番号: /^0d{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]+$
お読みいただきありがとうございますこの記事が皆さんのお役に立てば幸いです。このサイトを応援していただきありがとうございます。