- 1、本文档共14页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
正则表达式
目 录
1. 元字符 1
2. 限定符(量词,*+?大括号) 2
3. 组(圆括号符号) 2
4. 方括号符号(自定义字符集) 2
5. 或符号 3
6. 反义 3
7. 元字符列表 3
8. 非捕获组 6
9. JavaScript正则表达式 7
9.1 javascript 正则对象创建和用法 7
9.2 最常用的6个方法:test exec match search?replace?split 10
10. JavaScript正则表达式应用 12
10.1 判断是否是0-9的阿拉伯数字 12
10.2 判断是否是数值 12
10.3 手机格式验证 12
10.4 邮件格式验证 12
元字符
表1.常用的元字符 代码 说明 . 匹配除换行符以外的任意字符 \w 匹配字母或数字或下划线或汉字 \s 匹配任意的空白符 \d 匹配数字 \b 匹配单词的开始或结束 ^ 匹配字符串的开始^n匹配任何开头为 n 的字符串。 $ 匹配字符串的结束n$匹配任何结尾为 n 的字符串。
\ba\w*\b匹配以字母a开头的单词——先是某个单词开始处(\b),然后是字母a,然后是任意数量的字母或数字(\w*),最后是单词结束处(\b)。
\d+匹配1个或更多连续的数字。这里的+是和*类似的元字符,不同的是*匹配重复任意次(可能是0次),而+则匹配重复1次或更多次。
\b\w{6}\b 匹配刚好6个字符的单词。
限定符(量词,*+?大括号)
表2.常用的限定符 代码/语法 说明 * 重复零次或更多次 + 重复一次或更多次 ? 重复零次或一次 {n} 重复n次 {n,} 重复n次或更多次 {n,m} 重复n到m次 Windows\d+匹配Windows后面跟1个或更多数字。
^\w+匹配一行的第一个单词(或整个字符串的第一个单词)。
组(圆括号符号)
匹配abc重复两次的字符串:
(abc){2}
方括号符号(自定义字符集)
如果你想匹配没有预定义元字符的字符集合(比如元音字母a,e,i,o,u),应该怎么办?
只需要在方括号里列出它们就行了,像[aeiou]就匹配任何一个英文元音字母,[.?!]匹配标点符号(.或?或!)。
我们也可以轻松地指定一个字符范围,像[0-9]代表的含意与\d就是完全一致的:一位数字;[a-z0-9A-Z]表示所有数字和所有字母。
下面是一个更复杂的表达式:\(?0\d{2}[) -]?\d{8}。这个表达式可以匹配几种格式的电话号码,像(010或022或02912345678等。我们对它进行一些分析:首先是一个转义字符\(,它能出现0次或1次(?),然后是一个0,后面跟着2个数字(\d{2}),然后是)或-或空格中的一个,它出现1次或不出现(?),最后是8个数字(\d{8})。
“(”和“)”也是元字符,所以在这里需要使用转义。
或符号
正则表达式里的或符号指的是有几种规则,如果满足其中任意一种规则都应该当成匹配,具体方法是用“|”把不同的规则分隔开。
0\d{2}-\d{8}|0\d{3}-\d{7}这个表达式能匹配两种以连字号分隔的电话号码:一种是三位区号,8位本地号(如010,一种是4位区号,7位本地号(0376-2233445)。
匹配good或god可以使用g(o|oo){1}d。圆括号的作用是对字符进行分组。可以对字符组合使用限定符。例如:(A\d){2},表示匹配A+一个数字+A+一个数字。
反义
特定的反义字符:
\W????匹配任意不是字母,数字,下划线,汉字的字符\S????匹配任意不是空白符的字符\D????匹配任意非数字的字符\B????匹配不是单词开头或结束的位置[^x]????匹配除了x以外的任意字符[^aeiou]????匹配除了aeiou这几个字母以外的任意字符匹配 描述 \ 将下一个字符标记为一个特殊字符、或一个原义字符、或一个向后引用、或一个八进制转义符。例如,“n”匹配字符“n”。“\n”匹配一个换行符。串行“\\”匹配“\”而“\(”则匹配“(”。 ^ 匹配输入字符串的开始位置。如果设置了RegExp对象的Multiline属性,^也匹配“\n”或“\r”之后的位置。 $ 匹配输入字符串的结束位置。如果设置了RegExp对象的Multiline属性,$也匹配“\n”或“\r”之前的位置。 * 匹配前面的子表达式零次或多次。例如,zo*能匹配“z”以及“zoo”。*等价于{0,}。 + 匹配前面的子表达式一次或多次。例如,“zo+”能匹配“zo”以及“zoo”,但不能匹配“z”。+等价于{1,}。 ? 匹配前面的子表达式零次或一次。例如,“do(es)
文档评论(0)