Java中使用也比較簡單:
1. 編譯正則表達式的字面值得到對應的模式Pattern對象;
2. 創建匹配給定輸入與此模式的匹配器Matcher;
3. 通過匹配器對象執行操作,匹配器對象的方法很豐富,方法之間組合使用更加強大。
一些老是忘基礎
[...] 位于括號之內的任意字符
[^...] 不在括號之中的任意字符
. 除了換行符之外的任意字符,等價于[^/n]
/w 任何單字字符, 等價于[a-zA-Z0-9]
/W 任何非單字字符,等價于[^a-zA-Z0-9]
/s 任何空白符,等價于[/ t / n / r / f / v]
/S 任何非空白符,等價于[^/ t / n / r / f / v]
/d 任何數字,等價于[0-9]
/D 除了數字之外的任何字符,等價于[^0-9]
[/b] 一個退格直接量(特例)
{n, m} 匹配前一項至少n次,但是不能超過m次
{n, } 匹配前一項n次,或者多次
{n} 匹配前一項恰好n次
? 匹配前一項0次或1次,也就是說前一項是可選的. 等價于 {0, 1}
+ 匹配前一項1次或多次,等價于{1,}
* 匹配前一項0次或多次.等價于{0,}
| 選擇.匹配的要么是該符號左邊的子表達式,要么它右邊的子表達式
(...) 分組.將幾個項目分為一個單元.這個單元可由 *、+、?和|等符號使用,而且還可以記住和這個組匹配的字符以供此后引用使用
/n 和第n個分組所匹配的字符相匹配.分組是括號中的子表達式(可能是嵌套的).分組號是從左到右計數的左括號數
^ 匹配的是字符的開頭,在多行檢索中,匹配的是一行的開頭
$ 匹配的是字符的結尾,在多行檢索中,匹配的是一行的結尾
/b 匹配的是一個詞語的邊界.簡而言之就是位于字符/w 和 /w之間的位置(注意:[/b]匹配的是退格符)
/B 匹配的是非詞語的邊界的字符
題外話
郵箱驗證,以前驗證郵箱,網上搜個正則裝在自己程序里面就用,其實這是不對的,不同的公司對郵箱的驗證格式是不一樣的,比方說163和qq郵箱注冊,他們要求的格式都不一樣,所以搜一個正則表達式就去套所有的郵箱格式也是不對的,符合自己的需求的正則才是正確的。
新聞熱點
疑難解答