在多行中与正则表达式交换单词

时间:2014-05-13 09:18:48

标签: regex

我正在使用RegexBuddy软件来改变这个:

Adam Sandler

进入这个:

Sandler, Adam

对正则表达式知之甚少,我搜索并找到了解决此问题的命令

([^_]+) (.+)

并替换:$2, $1

有效。但是多行存在问题。如果输入是这样的,我怎样才能使它工作?

Adam Sandler
Rob Schneider
Ben Stiller

现在,输出是这样的:

Stiller, Adam Sandler
Rob Schneider
Ben

2 个答案:

答案 0 :(得分:2)

使用以下设置:

  • ^ $在换行符匹配
  • 逐行

答案 1 :(得分:0)

Perl等价物,

sub revName{
    my $fullname = "@_";
    my ($lastname, $firstname);
    if($fullname =~ /(\w+)\s+(\w+)/){
        $firstname = $1; 
        $lastname =  $2;
     }
    my $revname = "$lastname, $firstname";
    return $revname;
}