1、「.」為萬用字元,表示任何乙個字元,例如:「a.c」可以匹配「anc」、「abc」、「acc」;
2、「」,在內可以指定要求匹配的字元,例如:「a[nbc]c」可以匹配「anc」、「abc」、「acc」
;但不可以匹配「ancc」,a到z可以寫成[a-z],0到9可以寫成[0-9];
3、數量限定符號,表示匹配次數(或者叫做長度)的符號:
包括:「*」——0次或者多次
「+」——1次或者多次
「?」——0次或者1次
「」——匹配n次,n為整數
「」——匹配從n到m之間的某個數的次數;n和m都是整數;
「」——匹配n到無窮次之間任意次數;
「」——匹配0到m之間任意次數;
他們放到匹配格式的後面:
例如:**號碼:024-84820482,02484820482(假設前面3或者4位,後面7或者8位,並且中間的減號可有可無)
都是符合規定的,那麼可以用如下格式來匹配:[0-9] \-? [0-9];
注意:「\」為轉義字元,因為「-」在正規表示式用有代表乙個範圍的意義,例如:前面所說的[0-9],
所以它需要轉義字元「\」進行轉義才可使用;
4、「^」為否符號,表示不想匹配的符號,例如:[^z][a-z]+可以匹配所有除「z」開頭的以外的所有字
符串(長度大於2,因為「+」表示大於等於1的次數,從第二位開始都是小寫英文本元);
如果^放到的外邊則表示以開頭的字串;^[az][a-z]+表示a或者z開頭的長度大於等於2的英文本元 串;
5、「|」或運算子,例如:a[n|bc|cb]c可以匹配「abcc」,「anc」,「acbc」;
6、「$」以它前面的字元結尾的;例如:ab+$就可以被「abb」,「ab」匹配;
7、一些簡單表示方法:
\d表示[0-9];\d表示[^0-9];\w表示[a-z0-9];\w表示[^a-z0-9];\s表示[\t\n\r\f],就是空格字元包括tab
,空格等等;\s表示[^\t\n\r\f],就是非空格字元;
8、常用的匹配:
匹配中文字元: 「[\u4e00-\u9fa5]」;
匹配雙位元組字元(包括漢字在內):「[^\x00-\xff]」;
匹配空行的正規表示式:「\n[\s| ]*\r」;
匹配html標記的正規表示式:「/<(.*)>.*<\/\1>|<(.*) \/>/」;
匹配首尾空格的正規表示式:「(^\s*)|(\s*$)」;
匹配非負整數(正整數 + 0):「^\d+$」;
匹配正整數:「^[0-9]*[1-9][0-9]*$」;
匹配非正整數(負整數 + 0):「^((-\d+)|(0+))$」;
匹配負整數:「^-[0-9]*[1-9][0-9]*$」;
匹配整數:「^-?\d+$」;
匹配非負浮點數(正浮點數 + 0):「^\d+(\.\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+)?)|(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+)?$」;
匹配由數字、26個英文本母或者下劃線組成的字串:「^\w+$」;
匹配url:「^[a-za-z]+://匹配(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\s*)?$」
常用正規表示式
非負整數(正整數 + 0)
[^\\d+$]
正整數
[^[0-9]*[1-9][0-9]*$]
非正整數(負整數 + 0)
[^((-\\d+)|(0+))$]
負整數
[^-[0-9]*[1-9][0-9]*$] 整數
[^-?\\d+$]
非負浮點數(正浮點數 + 0)
[^\\d+(
\\.\\d+)?$]
正浮點數
[^(([0-9]+\\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9]+)|([0-9]*[1-9][0-9]*))$]
非正浮點數(負浮點數 + 0)
[^((-\\d+(
\\.\\d+)?)|(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+)?$]
由26個英文本母組成的字串
[^[a-za-z]+$]
由26個英文本母的大寫組成的字串
[^[a-z]+$]
由26個英文本母的小寫組成的字串
[^[a-z]+$]
由數字和26個英文本母組成的字串
[^[a-za-z0-9]+$]
由數字、26個英文本母或者下劃線組成的字串
[^\\w+$]
email位址
[^[\\w-]+(
\\.[\\w-]+)*@[\\w-]+(\\.[\\w-]+)+$]
url[^[a-za-z]+://(
\\w+(-\\w+)*)(\\.(\\w+(-\\w+)*))*(\\?\\s*)?$]
匹配中文字元的正規表示式: [\u4e00-\u9fa5]
匹配雙位元組字元(包括漢字在內):[^\x00-\xff]
中國**號碼驗證
匹配形式如:0511-4405222 或者021-87888822 或者 021-44055520-555 或者 (0511)4405222
正規表示式 "((d)|d-)?d(-d)*"
匹配形式如:215421
正規表示式 "d"
電子郵件驗證
匹配形式如:[email protected]
正規表示式 "w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*"
身份證驗證
匹配形式如:15位或者18位身份證
正規表示式 "d|d"
常用數字驗證
正規表示式
"d" n為規定長度
"d" n到m的長度範圍
非法字元驗證
匹配非法字元如:< > & / ' |
正規表示式 [^<>&/|'\]+
日期驗證
匹配形式如:20030718,030718
範圍:1900--2099
正規表示式((((19)|(20))d)|d)[01]d[0-3]d
正規表示式學習日記
1 為萬用字元,表示任何乙個字元,例如 a.c 可以匹配 anc abc acc 2 在內可以指定要求匹配的字元,例如 a nbc c 可以匹配 anc abc acc 但不可以匹配 ancc a到z可以寫成 a z 0到9可以寫成 0 9 3 數量限定符號,表示匹配次數 或者叫做長度 的符號 包括...
正規表示式學習
概念 正規表示式,就是用某種模式去匹配一類字串的乙個公式。基礎 下表列出了所有的元字元和對它們的乙個簡短的描述。簡單例子 vi 命令作用 s g 把乙個或者多個空格替換為乙個空格 s 去掉行尾的所有空格 s 在每一行頭上加入乙個空格 s 0 9 0 9 去掉行首的所有數字字元 s b aeio g ...
正規表示式學習
1.元字元 1 匹配任何單個字元 2 匹配括號中的任何乙個字元 可以再括號中使用連字元 來指定子都的區間來簡化表示,如a 0123456789 c等價於a 0 9 c 3 將 之間括起來的表示式定義為 組 4 將兩個匹配條件進行邏輯 或 運算 z f ood則匹配 zood 或 food 5 匹配0...