【发布时间】:2013-03-02 16:54:36
【问题描述】:
我在一个数组中有几个字符串是这种模式:
Aaaaa
Bbbbb (Ccccc)
Ddddd
Eeeee
Fffff (Ggggg)
我想创建一个如下所示的新数组:
Aaaaa
Bbbbb
Ddddd
Eeeee
Fffff
我能够将带有括号的模式与以下 Perl 正则表达式匹配:
$string =~ /(.*?)(\(.*?\))/;
push(@newarray, $1);
但这不适用于那些没有括号中的文本的字符串。我尝试了其他几个来匹配可选的括号,但似乎没有一个有效:
$string =~ /(.*?)(?:\(.*?\))/;
$string =~ /(.*?)(\(.*?\))?/;
$string =~ /(.*?)(?:\(.*?\))?/;
如果有人可以提供帮助,我将不胜感激。谢谢!
【问题讨论】: