【发布时间】:2018-08-03 15:54:34
【问题描述】:
在 PCRE 的上下文中,假设给定的输入字符串如下:
peakOfPeaks(nmax)
现在,我将正则表达式设为 (\p{P}),而我的替换字符串是 _$1_,因此输出变为:
peakOfPeaks_(_nmax_)_
如何更改正则表达式,以便我可以保留原始字符串,以便我的输出是:
peakOfPeaks(nmax) peakOfPeaks_(_nmax_)_
【问题讨论】:
在 PCRE 的上下文中,假设给定的输入字符串如下:
peakOfPeaks(nmax)
现在,我将正则表达式设为 (\p{P}),而我的替换字符串是 _$1_,因此输出变为:
peakOfPeaks_(_nmax_)_
如何更改正则表达式,以便我可以保留原始字符串,以便我的输出是:
peakOfPeaks(nmax) peakOfPeaks_(_nmax_)_
【问题讨论】:
perl 解决方案:
use Modern::Perl;
my $str = 'peakOfPeaks(nmax)';
$str =~ s/^(\P{P}+)(\p{P})(\P{P}+)(\p{P})$/$& $1_$2$3_$4_/;
say $str;
输出:
peakOfPeaks(nmax) peakOfPeaks_(nmax_)_
【讨论】: