2016 - 2024

感恩一路有你

正则表达式分组匹配 ([@#]).*(?1)[@#]怎么解读这个正则式?

浏览量:2618 时间:2021-03-13 08:00:41 作者:admin

([@#]).*(?1)[@#]怎么解读这个正则式?

数字表示匹配组的内容。1代表第一组。你可以问一个小组的情况。简单地说,a()是一个组,即([@#])匹配的内容。换句话说,如果您匹配第一个标语中的@符号,1是@(请注意,它不能是#)。如果您得到第一个([@#])匹配项#,则#的值为1。

(?! string inside)表示与“string inside”不匹配才能成功。

也就是说,只有不能显示组1的内容,才能成功。

示例:

#可以成功匹配多个任意字符

@可以成功匹配多个任意字符

@不能成功匹配多个任意字符(@和@重复)

shell里面的正则式里可否使用后向引用?

返回引用n无论匹配的第n个捕获组是什么,每个捕获组都存储在使用后的特殊位置,以备将来使用。这些存储在组中的特殊值称为“反向引用”。反向引用是按照从左到右遇到的左括号字符的顺序创建和编号的。在正则表达式中,可以从构造函数、escapeN和$N获取反向引用。

正则表达式分组匹配 正则表达式分组 正则表达式分组详解

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。