Q11.小小正则匹配?

mac2026-01-20  4

首先,有人可能觉得正则学了就忘了,有人觉得学的时候再查,如何更加方便的学习推荐一个小的工具配合文档一起学

https://regexper.com/

 

1.匹配非数字

var reg=/\D/g; var a='123'; a.replace(reg, "我"); //"123" var reg=/\D/g; var a='123.2'; a.replace(reg, "我"); //"123我2" var reg=/[^0-9]/g var a='123.2'; a.replace(reg, "我"); //"123我2"

2.理解reg.exec(str);

匹配成功返回一个数组,匹配失败返回null

这里就说一下匹配成功返回的参数:共四个,分别是:

正确返回数组的至少四个参数 a[0]该正则尽最大可能匹配到的字符串a[1,2...] 括号中的分组捕获:一个子串在一个位置,有可能有好几个,那就在a[2]、a[3]...依次类推index匹配到的字符位于原始字符串的基于0的索引值input原始字符串

 

 

 

 

 

 

那就来看看几个例子吧:对于第一个正则其中(?:x)这个括号不能当做子串,是未捕获括号哦

先来图展示再测试:

4.var reg=/\brequire\s*\(\s*(["'])(.+?)\1\s*\)/g;

 

   重点理解单词边界是什么?\b:就是匹配\w\W中的前一个

  (.+?)这个子表达式中的.是匹配单字符(就是单个字符,比如一个a或一个‘我’),+就是多个当字符,+后面一个?就是将贪婪变成非贪婪哦,匹配尽量少个。

3.正则位置匹配

位置匹配学习好文推荐

 

 

最新回复(0)