Perl使用带有分隔符前缀的正则表达式进行拆分。

3
我想在分隔符前面进行拆分,但是如果没有特殊字符,则不会进行拆分。
my $str = "a,b,c,d,e";
my @lst = split (/,/, $str);

# gives me: ("a", "b", "c", "d", "e")

# now I want to split after any , with not a character c in front of the ,.
# ("a", "b", "c,d", "e")

我尝试了

split (/(?!c),/, $str)

但它并未如预期般运行。

1个回答

3

使用负向预查可以向后检查。

split (/(?<!c),/, $str)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接