小编ham*_*doo的帖子

在正则表达式中间的前瞻不匹配

我有一个字符串$s1 = "a_b";,我想匹配这个字符串,但只捕获字母.我试图使用前瞻:

if($s1 =~ /([a-z])(?=_)([a-z])/){print "Captured: $1, $2\n";}
Run Code Online (Sandbox Code Playgroud)

但这似乎与我的字符串不匹配.我用(?:_)相反的方法解决了原来的问题,但我很好奇为什么我的原始尝试不起作用?根据我的理解,先行匹配但不捕获,所以我做错了什么?

regex perl

2
推荐指数
1
解决办法
582
查看次数

标签 统计

perl ×1

regex ×1