当前位置: 首页 > Web前端 > HTML5

JS正则表达式学习笔记2

时间:2023-04-05 19:34:07 HTML5

第二阶段本部分为学习正则表达式的第二部分,点击第一部分查看第一部分。这部分学习的内容包括:分组断言匹配模式(贪心和惰性)分组我们可以通过量词多次匹配一个字符,但是如果我们要多次匹配多个字符,就需要使用分组,比如下面的例子//匹配连续出现三次的字母和数字letstr="a1b2c3d4";letreg=/([a-z]\d){3}/str.replace(reg,"x");//通过分组重新排列字符letstr="2019-09-10";letreg=/^(\d{4})-(\d{2})-(\d{2})/str.replace(reg,"$2/$3/$1")//结果"09/10/2019"//匹配IPv4地址letreg=/^((2[0-4]\d|25[0-5]|[0-1]?\d\d???)\.){3}2[0-4]\d|25[0-5]|[0-1]?\d\d?/;//格式IP地址是xxx。xxx.xxx.xxx3个数字和一个点的4个字符,匹配3次,加3个字符,组合就是ip地址//我们用分组匹配3次分组的内容//可以反向引用在正则令reg=/(\w{3})为\1/;reg.test('kidiskid')//truereg.test('dikisdik')//truereg.test('kidiskid')//falsereg.test('dikiskid')//false//\1后向引用的内容与分组的内容相同第一个子表达式的内容2表示一个后向引用,引用第二个子表达式的内容$0匹配整个字符串$1匹配第一组的内容$2匹配第二组的内容Assertionassertsabit像^$b一样用来指定应该满足某些条件(即断言)的位置。断言通常用于查找某些内容(不包括它们自己)之前或之后的事物;代码说明?=exp匹配exp之前的位置?<=exp匹配exp之后的位置?!exp匹配exp后面不跟的位置?