正则表达式分组匹配 ([@#]).*(?1)[@#]怎么解读这个正则式?
浏览量:2618
时间:2021-03-13 08:00:41
作者:admin
([@#]).*(?1)[@#]怎么解读这个正则式?
数字表示匹配组的内容。1代表第一组。你可以问一个小组的情况。简单地说,a()是一个组,即([@#])匹配的内容。换句话说,如果您匹配第一个标语中的@符号,1是@(请注意,它不能是#)。如果您得到第一个([@#])匹配项#,则#的值为1。
(?! string inside)表示与“string inside”不匹配才能成功。
也就是说,只有不能显示组1的内容,才能成功。
示例:
#可以成功匹配多个任意字符
@可以成功匹配多个任意字符
@不能成功匹配多个任意字符(@和@重复)
shell里面的正则式里可否使用后向引用?
返回引用n无论匹配的第n个捕获组是什么,每个捕获组都存储在使用后的特殊位置,以备将来使用。这些存储在组中的特殊值称为“反向引用”。反向引用是按照从左到右遇到的左括号字符的顺序创建和编号的。在正则表达式中,可以从构造函数、escapeN和$N获取反向引用。
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。