我有一个字符串$s1 = "a_b";,我想匹配这个字符串,但只捕获字母.我试图使用前瞻:
$s1 = "a_b";
if($s1 =~ /([a-z])(?=_)([a-z])/){print "Captured: $1, $2\n";}
但这似乎与我的字符串不匹配.我用(?:_)相反的方法解决了原来的问题,但我很好奇为什么我的原始尝试不起作用?根据我的理解,先行匹配但不捕获,所以我做错了什么?
(?:_)
regex perl
perl ×1
regex ×1