字符直接量:
<b>名称 |
含义 |
<b>\n |
换行符,等价于 \u000A
|
<b>\f |
换页符,等价于 \u000C
|
<b>\r |
回车符,等价于 \u000D
|
<b>\t |
制表符,等价于 \u0009
|
<b>\v |
垂直制表符,等价于 \u000B
|
<b>\xnn |
由十六进制数表示 escape 字符数nn指定的拉丁字符,例如,\x0A 等价于 \n |
<b>\uxxxx |
由十六进制数 xxxx 指定 Unicode 字符,例如 \u0009 等价于 \t |
<b>\xxx |
由八进制xxx指定的字符。 |
\n
`l love
you`.match(/\n/)
=> ["↵"]
\r & \n
document.write('i live you & \r if you love me too')
document.write('i live you & \n if you love me too')
document.getElementsByTagName('body')[0].innerHTML.match(/\r/)
=> null
document.getElementsByTagName('body')[0].innerHTML.match(/\n/)
=> ["↵"]
\t
// 两个字符之间,我按的tab键,不知道我对制表符理解对不对。
` 名称 含义`.match(/\t/)
=> [' ']
// 其他几个就不试了,没啥意思。
字符类:
在正则表达式中,所谓的字符类就是将多个单独的字符放入方括号([])中构成的字符集合。
点号 (.) 匹配除了换行符和其他 Unicode 行终止符(如回车)之外的任意字符,等价于 [^\n\r]
<b>名称 |
含义 |
<b>\w |
匹配任何ASCII单字字符,等价于 [a-zA-Z0-9]
|
<b>\W |
匹配任何非ASCII单字字符,等价于 [^a-zA-Z0-9]
|
<b>\s |
匹配任何Unicode空白符,等价于 [\t\n\x0B\f\r]
|
<b>\S |
匹配任何非Unicode空白符,等价于 [^\t\n\x0B\f\r]
|
<b>\d |
匹配任何ASCII数字,等价于 [0-9]
|
<b>\D |
匹配任何非ASCII数字,等价于 ^[0-9]
|
<b>\b |
匹配一个词的边界。即两个词的分割,空格或者非词符 |
<b>[\b] |
匹配退格符(特例) |
重复量词:
<b>名称 |
含义 |
{n,m} |
匹配前一项至少n次,但是不能够超过m次。 |
{n,} |
匹配前一项n次或者更多次。 |
{n} |
匹配前一项n次。 |
? |
匹配前一项0次或者1次,也就是说前一项是可选项,等价于{0,1}。 |
+ |
匹配前一项1次或者多次,等价于{1,}。 |
* |
匹配前一项0次或者多次,等价于{0,}。 |
网友评论