西西河

主题:文问题,关于正则表达式 -- pastebt

共:💬26 🌺8 新:
全看分页树展 · 主题 跟帖
家园 用perl搞这种事超简单

$input=<STDIN>;

chomp($input);

if ($input =~ /^(\d*)(a\d*b)(\d*)$/)

{

$a = $1;

$b = $2;

$c = $3;

$b =~ s/3//g;

$output = $a.$b.$c;

print "$output\n";

}

实际就两个正则表达式

第一个/^(\d*)a(\d*)b(\d*)$/运行完了,对你这个输入$1是1234,$2是a5635367312b,$3是563789

然后把$2赋值给$b,用s/3//g把里面的3都替换掉,一定要加g标示符,代表全局替换,否则只替换第一个3。

最后$output就是1234a5656712b563789

全看分页树展 · 主题 跟帖


有趣有益,互惠互利;开阔视野,博采众长。
虚拟的网络,真实的人。天南地北客,相逢皆朋友

Copyright © cchere 西西河