+ -
当前位置:首页 → 问答吧 → 正则疑问

正则疑问

时间:2011-07-15

来源:互联网

perl正则中
(?(...)... ...) 是匹配if-then-else模式
(?(...)...) 是匹配if-then模式
能给讲讲什么意思并且给个例子么?
(?(1)\1)是什么意思:\1我知道是第一个括号

作者: magnet2008   发布时间: 2011-07-15

(?(1)\1): if \1 is set, match it again; else, do nothing;

$string = 'test"my"string';
print "Punct is: $1\n" if $string=~/^[a-z]+([[:punct:]])[a-z]+(?(1)\1)[a-z]+$/;

作者: Kitaisky   发布时间: 2011-07-22