关于正则表达式相关符号de含义

修饰符|含义|
---|----|----|----
i | 执行对大小写不敏感的匹配
g | 执行全局匹配(/#/g,匹配全文的“#”,如果没有g的话只查找到第一个就会停止执行)
m | 执行多行匹配

元字符(指那些在正则表达式中具有特殊意义的专用字符) | 含义
-----|----|----|----
. | 查找单个字符,除了换行和回车字符
\w | 查找单词字符
\W(大写) | 查找费单词字符
\d | 查找数字字符
\D | 查找非数字字符
\s | 查找空白字符
\S| 查找非空白字符
\b | 匹配单词边界
\B | 匹配非单词边界
\o | 查找NUL字符(什么鬼?)
\n | 换行符
\f | 换页符
\r | 回车符
\t | 制表符(???)
\v | 垂直制表符(???)
\xxx | 八进制数xx规定的字符
\xdd | 十六进制数dd规定的字符
\uxxxx | 十六进制数xxxx规定的Unicode字符(不太懂)

量词 | 含义
-----|----|----|----
n+ | 匹配任何包含至少一个 n 的字符串。
n* | 匹配任何包含零个或多个 n 的字符串。
n? | 匹配任何包含零个或一个 n 的字符串。
n{X} | 匹配包含 X 个 n 的序列的字符串。
n{X,Y} | 匹配包含 X 至 Y 个 n 的序列的字符串。
n{X,} | 匹配包含至少 X 个 n 的序列的字符串。
n{ ,Y} | 匹配包含至多 X 个 n 的序列的字符串。
n$ | 匹配任何结尾为 n 的字符串。
n^ | 匹配任何开头为 n 的字符串。
?=n | 匹配任何其后紧接指定字符串 n 的字符串。
?(|)n | 匹配任何其后没有紧接指定字符串 n 的字符串。

一些特殊符号 ( [ { \ ^ $ | ) ? * + .

特殊符号 | 含义
-----|----|----|----
( ) | 分类,如/(ab)+/ 匹配任何包含至少一个(ab) 的字符串,/ab+/匹配任何包含至少一个b的字符串,尽可能多进行匹配
[ ] | [abc],表示一个字符,abc里面任选一个进行匹配
{} | 一般用于填写匹配次数,如/a{3}/执行3次匹配
\ | 转义字符,用于把一些有含义的字符转为无义,从而能进行特殊字符的匹配,如/a+/,使+失去原义,能够匹配“+”字符
^ | 两种作用:在[ ]里面表示取相反含义,如/[a]/匹配不是a的字符,若不在,如/a/,以a开头
$ | [a$],表示已a结尾
| | /(a|b)/匹配a或者b
? | 出现零次或一次(最多出现一次),执行尽可能少的匹配,能少执行则少执行

  • | 出现零次或多次(任意次)会形成贪婪模式(能多执行就多执行)
  • | 出现一次或多次(至少出现一次)

参考

JavaScript RegExp 对象http://www.w3school.com.cn/jsref/jsref_obj_regexp.asp

饥人谷前端学习指南(http://book.jirengu.com/fe/)http://book.jirengu.com/fe/%E5%89%8D%E7%AB%AF%E5%9F%BA%E7%A1%80/Javascript/%E6%AD%A3%E5%88%99%E5%9F%BA%E6%9C%AC%E8%AF%AD%E6%B3%95.html

你可能感兴趣的:(关于正则表达式相关符号de含义)