谈谈js中的正则表达式第一篇之正向肯定预查和正向否定预查

本文探讨JavaScript正则表达式中的正向肯定预查(?=pattern)和正向否定预查(?!pattern),解释它们的含义和用途。通过实例分析,说明这两个预查在模式匹配中的作用,以及它们与普通括号匹配的区别。
摘要由CSDN通过智能技术生成

之前在别人写的瀑布流案例中,发现有这样的正则写法:/<a(?:.|\n|\r|\s)*?a>/gi  

对于?: 的正则表示方法没有看到过,一下子蒙了,决定好好补充下正则表达式的知识。

引用维基百科对正则表达式的概念,正则表达式的意思是使用单个字符串来描述、匹配一系列符合某个语句规则的字符串搜索模式。

一、?:pattern

(?:pattern)会作为匹配检验,并出现在匹配字符结果里面,但是跟(...)的区别是,它不作为子匹配返回;

这在使用或字符“(|)”来组合一个模式的各个部分是很有用。例如“industr(?:y|ies)”就是一个比“industry|industries”更简略的表达式。

例1:industry.match(/industr(?:y|ies)/i)           //   ["industry", index: 0, input: "industry"] 

  industry.match(/industr(y|ies)/i)            //  ["industry", "y

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值