- ? 表示前面的字符可選。
- +表示一個或多個靖诗。
- *表示0個或多個徊都。
- [] 字符組或字符集 匹配方括號里限定的字符集沪斟。字符組簡寫式 \d=[0-9] 匹配任意阿拉伯數(shù)字。
- \D =[^0-9]匹配任意的非數(shù)字字符 暇矫。
- \w 這個簡寫式將匹配所有的單詞字符主之。\D與\w的區(qū)別是\D會匹配空格择吊、標點符號(引號、連字符槽奕、反斜杠几睛、方括號)等字符,而\w卻不會粤攒,它只匹配字母所森、數(shù)字和下劃線。等同于字符組[_a-zA-Z0-9]夯接。
- \W 匹配非單詞字符,匹配空格必峰、標點以及其他非字母、非數(shù)字字符钻蹬。等同于字符組[^_a-zA-Z0-9]
- \s 匹配空白字符=[????\t\n\r]它會匹配:
?空格 ?制表符(\t) ?換行符(\n) ?回車符(\r) - \S 匹配非空白字符
- .英文句號吼蚁,是一個通配符可以匹配任意字符(但某些情況下不能匹配行起始符)。
- {} 包含數(shù)字的花括號是一種量詞(quantifier)问欠「未遥花括號本身用做元字符。表示字符出現(xiàn)的次數(shù)顺献。
- ^ 脫字符旗国,表示匹配的字符串會出現(xiàn)在一行的起始位置。
- $ 美元符$匹配一行結束位置注整。
- () 一對圓括號表示捕獲分組能曾。
- \1 表示后向引用。
例如先將一個\d放在一對圓括號中肿轨,這樣就將它放入了一個分組中寿冕,
后面可以用\1來對捕獲的內容進行后向引用:
(\d)\d\1
\1對括號內分組捕獲的內容進行了反向引用。例如這個正則表達式可以匹配707椒袍,而不能匹配706驼唱。
例子
1、(\d{3}[.-]?){2}\d{4}
這個表達式匹配的字符串是連續(xù)兩個無括號的三位數(shù)字驹暑,每三位數(shù)字后可以帶連字符也可以不帶玫恳,最后是一個四位數(shù)字
2、((\d{3})|\d{3}[.-]?)?\d{3}[.-]?\d{4}$
- 出現(xiàn)在正則表達式起始位置或者豎線(|)之后的脫字符^优俘,表示匹配的字符串會出現(xiàn)在一行的起始位置京办;
- 左括號(為捕獲分組的起始符;
- (表示左括號本身帆焕;
- \d匹配一位數(shù)字惭婿;
- \d之后的{3}是量詞,表示匹配三位數(shù)字;
- )匹配右括號本身
- 豎線符|表示選擇审孽,也就是從多個可選項中選擇一個县袱,換句話說浑娜,
它表示“匹配一個不帶括號的字符串或一個帶括號的字符串”佑力; - 脫字符^匹配行起始位置;
- \d匹配一位數(shù)字筋遭;
- {3}是表示匹配三位數(shù)字的量詞打颤;
- [.-]?匹配一個可選的點號或連字符漓滔;
- 右括號)為捕獲分組的結束符编饺;
- 問號?表示分組可選响驴,即分組中的前綴可有可無透且;
- \d匹配一位數(shù)字;
- {3}表示匹配三位數(shù)字的量詞豁鲤;
- [.-]秽誊?匹配另一個可選的點號或連字符;
- \d匹配一位數(shù)字琳骡;
- {4}是表示匹配四位數(shù)字的量詞锅论;
- 美元符$匹配行結束位置。