正则表达式

字符直接量:

名称 含义
\n 换行符,等价于 \u000A
\f 换页符,等价于 \u000C
\r 回车符,等价于 \u000D
\t 制表符,等价于 \u0009
\v 垂直制表符,等价于 \u000B
\xnn 由十六进制数表示 escape 字符数nn指定的拉丁字符,例如,\x0A 等价于 \n
\uxxxx 由十六进制数 xxxx 指定 Unicode 字符,例如 \u0009 等价于 \t
\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]

名称 含义
\w 匹配任何ASCII单字字符,等价于 [a-zA-Z0-9]
\W 匹配任何非ASCII单字字符,等价于 [^a-zA-Z0-9]
\s 匹配任何Unicode空白符,等价于 [\t\n\x0B\f\r]
\S 匹配任何非Unicode空白符,等价于 [^\t\n\x0B\f\r]
\d 匹配任何ASCII数字,等价于 [0-9]
\D 匹配任何非ASCII数字,等价于 ^[0-9]
\b 匹配一个词的边界。即两个词的分割,空格或者非词符
[\b] 匹配退格符(特例)

重复量词:

名称 含义
{n,m} 匹配前一项至少n次,但是不能够超过m次。
{n,} 匹配前一项n次或者更多次。
{n} 匹配前一项n次。
? 匹配前一项0次或者1次,也就是说前一项是可选项,等价于{0,1}。
+ 匹配前一项1次或者多次,等价于{1,}。
* 匹配前一项0次或者多次,等价于{0,}。

你可能感兴趣的:(正则表达式)