元字符
\b:代表著單詞的開頭或結尾,也就是單詞的分界處。
. :匹配除了換行符以外的任意字符。
* :它代表的不是字符,也不是位置,而是數量。它指定*前邊的內容可以連續重復出現任意次以使整個表達式得到匹配。因此,.*連在一起就意味著任意數量的不包含換行的字符。
\d:匹配任意的數字(0,或1,或2,或……)。
\s:匹配任意的空白符,包括空格,制表符(Tab),換行符,中文全角空格等。
\w:匹配字母或數字或下劃線或漢字等。
^ :匹配字符串的開始。
$ :匹配字符串的結束。
^匹配你要用來查找的字符串的開頭,$匹配結尾。這兩個代碼在驗證輸入的內容時非常有用
例:\bhi\b.*\bLucy\b 表示先是一個單詞hi,然后是任意個任意字符(但不能是換行),最后是Lucy這個單詞。
0\d\d-\d\d\d\d\d\d\d\d 以0開頭,然后是兩個數字,然后是一個連字號“-”,最后是8個數字. 也可以這樣寫這個表達式:0\d{2}-\d{8}。這里\d后面的{2}({8})的意思是前面\d必須連續重復匹配2次(8次)。
\ba\w*\b 匹配以字母a開頭的單詞——先是某個單詞開始處(\b),然后是字母a,然后是任意數量的字母或數字(\w*),最后是單詞結束處(\b) 。
^\d{5,12}$ 必須為5位到12位數字。
\d+ 匹配1個或更多連續的數字。這里的+是和*類似的元字符,不同的是*匹配重復任意次(可能是0次),而+則匹配重復1次或更多次。
字符轉義
如果你想查找元字符本身的話,比如你查找 . 或者 * 就出現了問題:你沒法指定它們,因為它們會被解釋成其它的意思。這時你就必須使用\來取消這些字符的特殊意義。因此,你應該使用\.和\*。當然,要查找\本身,你也得用\\。
www\.unibetter\.com 匹配www.unibetter.com
c:\\Windows 匹配c:\Windows
重復
代碼/語法
|
說明
|
*
|
重復零次或更多次
|
+
|
重復一次或更多次
|
?
|
重復零次或一次
|
{n}
|
重復n次
|
{n,}
|
重復n次或更多次
|
{n,m}
|
重復n到m次
|
Windows\d+ 匹配Windows后面跟1個或更多數字
13\d{9} 匹配13后面跟9個數字
例子:^[A-Za-z]+$ //匹配由26個英文字母組成的字符串
^[A-Z]+$ //匹配由26個英文字母的大寫組成的字符串
^[a-z]+$ //匹配由26個英文字母的小寫組成的字符串
^[A-Za-z0-9]+$ //匹配由數字和26個英文字母組成的字符串
^\w+$ //匹配由數字、26個英文字母或者下劃線組成的字符串
^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$ //匹配email地址
^[a-zA-z]+://匹配(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\S*)?$ 匹配url
/<(.*)>.*<\/>|<(.*) \/>/ 匹配HTML標記
^[a-zA-Z][a-zA-Z0-9_]{4,15}$ 匹配帳號是否合法(字母開頭,允許5-16字節,允許字母數字下劃線)
v