perl 正则表达式中模式分组/y((.)(.)\3 \2) d\1/ 是怎么匹配的?
1个回答
展开全部
分组是按照左边圆括号"("的出现次序确定顺序
所以\1是表示((.)(.)\3 \2)中整个的内容,\3表示((.)(.)\3 \2)中内嵌的第二个圆括号中的内容,\2表示内嵌的第一个圆括号中的分组
/y((.)(.)\3 \2) d\1/
这个正则表达式中有空格,所以这个正则表达式可以匹配
y字符跟两个任意字符,重复第三个字符,一个空格,重复第二个字符,一个空格,字符d,重复第二至第五个字符
这个正则可以匹配字符串 “ystt s dstt s”
如果这个正则表达式中没有空格,或者在最后使用了x标记,则可以匹配字符串 "ysttsdstts"
所以\1是表示((.)(.)\3 \2)中整个的内容,\3表示((.)(.)\3 \2)中内嵌的第二个圆括号中的内容,\2表示内嵌的第一个圆括号中的分组
/y((.)(.)\3 \2) d\1/
这个正则表达式中有空格,所以这个正则表达式可以匹配
y字符跟两个任意字符,重复第三个字符,一个空格,重复第二个字符,一个空格,字符d,重复第二至第五个字符
这个正则可以匹配字符串 “ystt s dstt s”
如果这个正则表达式中没有空格,或者在最后使用了x标记,则可以匹配字符串 "ysttsdstts"
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询