正则表达式语法
字符 | 描述 |
---|---|
\ | 反斜杠,指出字符为特殊字符。eg:/b/表示匹配b,/\b/表示该字符为特殊字符 |
^ | 表示匹配的字符必须要在最前边,eg:/^A/表示不匹配“anA”中的A,但是匹配"AnA"中的前面的A |
$ | 与^类似,匹配末位字符。eg:/t$/ 表示匹配“eat”中的t |
* | 匹配* 前面字符的0次或n次。eg:/bo*/ 匹配“a booooed”中的boooo或“a bdddd”中的b,不匹配"offff"中的任何字符 |
+ | 匹配+前面的字符1次或n次 ,等价于{1,} |
? | 匹配?前面的字符0次或1次,eg:/e?le?/匹配“angel”中的el,匹配“angle”中的le |
. | 匹配除换行符外的单个字符 ,eg:/.n/匹配“nay, an apple is on the tree”中的an,on,但是不匹配nay |
(x) | 匹配‘x’的字符值,eg:/(booo)/匹配“booofffff” 中的booo |
x|y | 匹配x或y,eg:/green|red/匹配“green apple”中的green ,“red apple” 中的red |
{n} | n是一个正整数,eg:/a{2}/匹配“baaaaay”中前两个a |
{n,} | n是一个正整数,eg:/a{2,}/匹配“baaaaay”中所有的a |
{n,m} | n,m是一个正整数,eg:/a{1,3}/匹配1到3个a |
[xyz] | 字符列表,匹配列出的任意字符,可以用-指出一个范围,例如/a-c/相当于/abc/ |
[^xyz] | 匹配除列出的任意字符 |
[\b] | 匹配一个空格 |
\b | 匹配一个单词的分界线,例如一个空格 |
\B | 匹配一个单词的非分界线 |
\cX | X是一个控制字符,匹配一个字符串的控制字符 |
\d | 匹配一个数字,等价于[0-9] |
\D | 匹配非数字,等价于^ [0-9] |
\f | 匹配一个表单符 |
\n | 匹配一个换行符 |
\r | 匹配一个回车符 |
\s | 包括空格,tab,form,feed,换行符,等价于[\f\n\r\t\v] |
\S | 匹配一个制表符 |
\v | 匹配一个顶头制表符 |
\t | 匹配一个制表符 |
\w | 匹配所有的数字、字母、下划线,等价于[A-Za-z0-9_] |
\W | 匹配所有的除数字、字母、下划线之外的字符 |
\ooctal或\xhex | \ooctal八进制,\xhex十六进制 |