早教吧作业答案频道 -->英语-->
perl正则表达式反向引用\g代表什么意思?my$names="FredFlintstoneandWilmaFlintstone";if($namesm/(?\S+)and\S+\g{lastname}/){say"Isaw$+{lastname}";}为什么这里\g{lastname}g去掉了,就匹配不了了?
题目详情
perl 正则表达式反向引用\g代表什么意思?
my $names = "Fred Flintstone and Wilma Flintstone";
if ( $names m/(?\S+) and \S+ \g{last_name}/ ) {
say "I saw $+{last_name}";
}
为什么这里\g{last_name} g去掉了,就匹配不了了?
my $names = "Fred Flintstone and Wilma Flintstone";
if ( $names m/(?\S+) and \S+ \g{last_name}/ ) {
say "I saw $+{last_name}";
}
为什么这里\g{last_name} g去掉了,就匹配不了了?
▼优质解答
答案和解析
1.官网中的语法:
\g{name} Named backreference
表示后向匹配的意思
2.后向匹配,简单说就是:
匹配,前面已经查找过的某段内容,该段内容,是已经被括号包起来的,叫做组group,组的名字叫做name
你这里就是
之前用
(?\S+)
匹配到了
Flintstone
后面用
\g{last_name}
去匹配,前面的那个
Flintstone
所以,如果去掉,你这段匹配的语法,就和实际字符串,不吻合了.所以去掉就匹配不了了.
不过要注意的是,如果是去查找字符串,即使去掉,也可以匹配到前面那部分:
Fred Flintstone and Wilma
的
这下明白了吧?
关于后向匹配,更详细的解释,感兴趣的话去看:
(正则的含义是一样的,只是写法有点区别而已,所以可以参考的)
【教程】详解Python正则表达式之: (?
\g{name} Named backreference
表示后向匹配的意思
2.后向匹配,简单说就是:
匹配,前面已经查找过的某段内容,该段内容,是已经被括号包起来的,叫做组group,组的名字叫做name
你这里就是
之前用
(?\S+)
匹配到了
Flintstone
后面用
\g{last_name}
去匹配,前面的那个
Flintstone
所以,如果去掉,你这段匹配的语法,就和实际字符串,不吻合了.所以去掉就匹配不了了.
不过要注意的是,如果是去查找字符串,即使去掉,也可以匹配到前面那部分:
Fred Flintstone and Wilma
的
这下明白了吧?
关于后向匹配,更详细的解释,感兴趣的话去看:
(正则的含义是一样的,只是写法有点区别而已,所以可以参考的)
【教程】详解Python正则表达式之: (?
看了 perl正则表达式反向引用\...的网友还看了以下:
一匹匹怎么造句 2020-06-15 …
除了一匹狼匹马还有匹什么动物? 2020-06-15 …
马匹喝水.老王要养马,他有这样一池水:如果养马30匹,8天可以把水喝光;如果养马25匹,12天把水 2020-06-15 …
老王要养马他有这样一池水!如果养马30匹8天可以把水喝光.如果养马25匹12天把水喝光.老王要养马 2020-06-15 …
“我把一半的马分你,算做关税,但是你要把你一半中的一匹给我.”守卫同意了,他就这样过了五个关口.最 2020-06-15 …
有100匹马要栓在9个柱了上,每柱栓单数,有一个栓31匹,怎么栓? 2020-06-15 …
巩乃斯的马巩乃斯的马,给了我一个多么完整的世界!凡是那时被取消的,你都重新又给予了我!弄得我直到今 2020-06-17 …
看到孔雀东南飞这篇文章有一句三日断五匹那么一匹布是多长? 2020-06-18 …
匹马戍梁州的匹什么意思 2020-07-08 …
19世纪上期,英国向中国输出呢绒,布匹很难卖出去.为什么? 2020-11-28 …