+ -
当前位置:首页 → 问答吧 → Perl 正则表达式问题

Perl 正则表达式问题

时间:2010-11-08

来源:互联网

my $str1 = "i++;} else {j++;";

注:else和两个花括号直接分别只有一个空格。

my @arr1 = split /(\s+|;)else\s+/, $str1;

想得到红色部分,即: i++;} 和{j++;

但是arr中有三部分:i++;}, {j++; 和 " "(就一个空格)

请各位高手给予分析,谢谢。


作者: liujunyu   发布时间: 2010-11-08

你说的顺序不对,应该是i++;},空格,{j++;吧。
把你的正则表达式里的(\s+|;)换成(?:\s+|;),否则split会把括号内的部分也作为分割后列表的一部分。

作者: iambic   发布时间: 2010-11-08