- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
JavaScript正则表达式基本语法.
JavaScript 正则表达式上——基本语法
定义
JavaScript种正则表达式有两种定义方式,定义一个匹配类似?%XXX%?的字符串
1. 构造函数
var reg=new RegExp(%[^%]+%,g);
2. 字面量
var reg=/%[^%]%/g;
g:?global,全文搜索,默认搜索到第一个结果接停止
i:?ingore case,忽略大小写,默认大小写敏感
m:?multiple lines,多行搜索
元字符
正则表达式让人望而却步以一个重要原因就是其转义字符太多了,组合非常之多,但是正则表达式的元字符(在正则表达式中具有特殊意义的专用字符,可以用来规定其前导字符)并不多
元字符:( [ { \ ^ $ | ) ? * + .
并不是每个元字符都有其特定意义,在不同的组合中元字符有不同的意义,分类看一下
预定义特殊字符
字符 含义 \t 水平制表符 \r 回车符 \n 换行符 \f 换页符 \cX 与X对应的控制字符(Ctrl+X) \v 垂直制表符 \0 空字符 ?
?
?
?
?
?
?
字符类
一般情况下正则表达式一个字符(转义字符算一个)对应字符串一个字符,表达式?ab\t?的含义是
但是我们可以使用元字符[]来构建一个简单的类,所谓类是指,符合某些特征的对象,是一个泛指,而不是特指某个字符了,我们可以使用表达式 [abc] 把字符a或b或c归为一类,表达式可以匹配这类的字符
元字符[]组合可以创建一个类,我们还可以使用元字符^创建反向类/负向类,反向类的意思是不属于XXX类的内容,表达式?[^abc]?表示不是字符a或b或c的内容
范围类
按照上面的说明要是我们希望匹配单个数字那么表达式是这样的
[0123456789]
如果是字母那么。。。,好麻烦,正则表达式还提供了范围类,我们可以使用 x-y来连接两个字符表示从x到y的任意字符,这是个闭区间,也就是说包含x和ybenshen,这样匹配小写字母就很简单了
[a-z]
要是想匹配所有字母呢?在[]组成的类内部是可以连写的,我们还可以这样写?[a-zA-Z]
预定义类
刚才使用正则我们创建了几个类,来表示数字,字母等,但这样写也很是麻烦,正则表达式为我们提供了几个常用的预定义类来匹配常见的字符
字符 等价类 含义 . [^\n\r] 除了回车符和换行符之外的所有字符 \d [0-9] 数字字符 \D [^0-9] 非数字字符 \s [ \t\n\x0B\f\r] 空白符 \S [^ \t\n\x0B\f\r] 非空白符 \w [a-zA-Z_0-9] 单词字符(字母、数字、下划线) \W [^a-zA-Z_0-9] 非单词字符 ?
?
?
?
?
?
?
?
有了这些预定义类,写一些正则就很方便了,比如我们希望匹配一个 ab+数字+任意字符 的字符串,就可以这样写了?ab\d.
?
边界
正则表达式还提供了几个常用的边界匹配字符
字符 含义 ^ 以xx开头 $ 以xx结尾 \b 单词边界,指[a-zA-Z_0-9]之外的字符 \B 非单词边界 ?
?
?
?
?
?
?
?
看个不负责任的邮箱正则匹配(切勿模仿,小括号后面会讲到)?\w+@\w+\.(com)$
量词
之前我们介绍的方法都是一一匹配的,如果我们希望匹配一个连续出现20次数字的字符串难道我们需要写成这样
\d\d\d\d...
为此正则表达式引入了一些量词
字符 含义 ? 出现零次或一次(最多出现一次) + 出现一次或多次(至少出现一次) * 出现零次或多次(任意次) {n} 出现n次 {n,m} 出现n到m次 {n,} 至少出现n次 {,m} 最多出现m次 ?
?
?
?
?
?
?
?
看几个使用量词的例子
\w+\bByron?匹配 单词+边界+Byron
(/\w+\bByron).test(Hi Byron); //true (/\w+\bByron).test(Welcome Byron); //true (/\w+\bByron).test(Byron); //false
?\d+\.\d{1,3}?匹配三位小数的数字
?贪婪模式与非贪婪模式
看了上面介绍的量词,也许爱思考的同学会想到关于匹配原则的一些问题,比如{3,5}这个量词,要是在句子种出现了十次,那么他是每次匹配三个还是五个,反正3、4、5都满足3~5的条件,量词在默认下是尽可能多的匹配的,也就是大家常说的贪婪模式
123456789.match(/\d{3,5}/g); //[12345, 6789]
?既然有贪婪模式,那么肯定会有非贪婪模式,让正则表达式尽可能少的匹配,也就是说一旦成功匹配不不再继续尝试,
您可能关注的文档
最近下载
- GB+39496-2020尾矿库安全规程.docx VIP
- 衡水体英文字母字帖.pdf VIP
- 聚酰亚胺 化学、结构与性能的关系及材料.pdf VIP
- 2025-2026学年小学信息技术(信息科技)五年级上册重大版(2023)教学设计合集.docx
- 迎春杯历年试题全集(上).pdf VIP
- 建筑结构检测鉴定与加固课程-第7章 钢结构加固.ppt VIP
- PW5300_2.0数据手册下载.pdf VIP
- 建筑结构检测鉴定与加固课程-第8章 建筑结构的改造.ppt VIP
- 重大版小学信息技术教案四年级上册教案.doc VIP
- 多因子选股系列研究之十八:成交量激增与骤降时刻的对称性与“一视同仁”因子构建.pdf VIP
文档评论(0)