我们说我的句子包含两个单词和一些标点/数字。
例如
word1 [some punctuation / number] word2
我想在标点符号之前插入word3。 所以输出将是
word1 word3 [some punctuation / number] word2
正确的正则表达式代码是什么?最好用Perl编写。
答案 0 :(得分:1)
答案 1 :(得分:1)
怎么样:
use strict;
use warnings;
my $string = 'word1 , word2';
my $re = qr/(\w+) ([\p{P}\d])/;
$string =~ s/$re/$1 word3 $2/;
print $string,"\n";
<强>输出:强>
word1 word3 , word2
编辑:
如果标点符号是可选的,请使用:
my $re = qr/(\w+) ([\p{P}\d]?)/;
# here __^