前端学堂 http://www.felearn.com
当前位置首页 > 前端技术 > Ionic> 正文

求解释这个Javascript正则表达式

2021-05-01 22:21:48 暂无评论 Ionic 正则   表达式   Javascript

/  / 首位一个斜杠,这个就不用解释了吧。

然后^标志着id或字符的开始,$标志结束,(?:)是非获取组,简单的来说,就是匹配其中的内容。

(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*$) 借由|分成两步部分[^#<]*(<[\w\W]+>)[^>]* 和#([\w\-]*,意思是匹配这两个内容之一。接下来我列好匹配顺序吧。

第一部分:[^#<]*(<[\w\W]+>)[^>]*

1、第一个[^#<]   ,非句首的^符合都是代表否定的意思,即匹配非#或<的字符。

2、*字符表示其左边的字符出现0-n次

3、先匹配(),注意括号是分组的意思,匹配当前括号中的内容<

4、[\w\W],\w表示字母数字下划线,\W表示非\w的字符,这个方框的意思就是匹配任意字符应该可以用.代替

5、+表示加号左边的第一个字符出现1-n次,  然后再匹配>

6、之后的这个方框匹配非>号的字符,加*表示,匹配0-n次。

总结第一部分,就是匹配任意一个:任意个非#<字符<至少一个任意字符>任意个非>字符

举个例子:a<a>a 可以匹配,aa<a>aa可以,bc<#>dfa可以 #<a>a则不行

第二部分#([\w\-]*)

1、匹配一个#

2、匹配任意一个字母数字下划线和-号构成的串 

举例如:#dwa 或者#-fe-fe等

 

综上所述,这个正则表达式,就是匹配形如第一部分或第二部分的字符串。希望你能看懂