有关正则表达式的问题? 10

请问这个正则表达式该怎么解释呢?希望可以有解析的思路。“(?is)<a(?:(?!href=).)”谢谢... 请问这个正则表达式该怎么解释呢?希望可以有解析的思路。
“(?is)<a(?:(?!href=).)”
谢谢
展开
 我来答
百度网友6468fb3
2020-10-20 · TA获得超过111个赞
知道小有建树答主
回答量:79
采纳率:0%
帮助的人:0
展开全部
楼圆者主误解了(?:)的意义,(?:)是相对于()的一个概念。()的意思有两个,一个有的书上叫记忆,就是把匹配的字符保存在寄存器里,以备后用,另一个意思是分组,所以()又叫记忆分组。而(?:)只有分组的功能,分组的意思是把组内的部分看成是同一个对象对待,比如一个字符串,经常没腔芹用来分割并列逻辑(就是'|')。所以分组符号只是不把匹配内容放到寄存器里,他里边的内容还是要匹配的。举个例子,比如我要匹配这样一个字符串,它由三个数字字符组成,而且第一个和第三个字符相同,这就需要记忆分组了:"(\d)\d\1",这里的\d 表示数字字符,这句话的意思是,首先匹配一个数字字符并把它记到寄存器让后再匹配下一个数字,最后寻找和的一个字符相同的数字字符,这里的\1表示第一个被记忆的分组。所以"(\d)(\d)\2\1"就表示首末相同的四数字字符串。如果想匹配三个连续的数字枯毕字符那么:"(\d\d\d)"和"(?:\d\d\d)"都可以达到要求,唯一的区别就是第二个方法没有将匹配内容存储。很显然引入(?:)就是为了在只需要分组的情况下减少cpu资源的消耗。如果要实现部分匹配可以利用环视,楼主的第一个方程可以这么写:(?<=the )white(?= queen,)
百度网友94e4664
2020-10-19
知道答主
回答量:6
采纳率:0%
帮助的人:3188
展开全部
正则表达式,早档又称规孝睁灶则表达式。计巧扮算机科学的一个概念。正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式