JS 正则表达式中小括号的应用

2019-12-23,

主要使用的有下面三种:


1.  (...)


Grouping. Group items into a single unit that can be used with *, +, ?, |, and so on. Also remember the characters that match this group for use with later references.


2. (?:...)


Grouping only. Group items into a single unit, but do not remember the characters that match this group.


3.


(?=pA positive lookahead assertion. 或



(?!p)  A negative lookahead assertion.


 


用于测试的字符串:url(skins/default/images/index/default.png)


红色字符为匹配上的结果


第一种,用于普通分组,能记住匹配该分组的字符串,并且可以在以后通过\1的方式来引用所匹配到的分组



       eg: (\/)匹配url(skins/default/images/index/default.png)


           (\/)default\1匹配url(skins/default/images/index/default.png)


 


第二种,用于分组,不记录匹配该分组的字符串


       eg: (?:\/)default匹配url(skins/default/images/index/default.png)


 


第一、二两种方式匹配的结果里都包含有该分组匹配到的结果,在例子中是"/default"中的"/"


 


第三种,只用于确定位置,最终结果里并不包含该括号匹配到的结果


       eg:  (?!\/)default匹配url(skins/default/images/index/default.png)


       eg:  default(?=\/)匹配url(skins/default/images/index/default.png)

《JS 正则表达式中小括号的应用.doc》

下载本文的Word格式文档,以方便收藏与打印。