服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - 正则表达式 - JS 正则表达式中小括号的应用

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

2020-07-28 16:32正则之家 正则表达式

在正则表达式中小括号的应用种类比较多,差别也很大

主要使用的有下面三种:

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)

延伸 · 阅读

精彩推荐