正则表达式

字符直接量:

<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,}。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容