Perl正则表达式替换

求一个正则表达式:把C2替换成$C$2。其中,C可以是任何一个或者两个大写字母。比如:
D2 -> $D$2
E2 -> $E42
AB2 -> $AB$2

$str = "D2\nE2\nAB2";
for $s (split "\n",$str)
{
print $s,"\n";
$s =~ s/([A-Z]{1,2})(\d+)/\$$1\$$2/g;
print $s,"\n";
}

关键代码就是

$s =~ s/([A-Z]{1,2})(\d+)/\$$1\$$2/g;

追问

谢谢!

但是我要在文本工具中替换,比如Ultraedit中替换(或者到excel中替换也行):

追答

([A-Z]{1,2})(\d+)
替换为
$\1$\2

温馨提示:内容为网友见解,仅供参考
第1个回答  2014-03-18
查找:
([a-zA-Z]{1,2})([0-9])
替换为:
\$\1\$\2

Perl正则表达式替换
s =~ s\/([A-Z]{1,2})(\\d+)\/\\$$1\\$$2\/g;

Perl语言学习之正则表达式(regular expression)
Perl语言中的正则表达式是处理字符串模式的强大工具,其在各种编程语言中占据显著位置,尤其在Perl中表现卓越。有三种主要的操作形式:匹配(使用`=~`),替换(同样用`=~`),和转换,它们都是对具有特定模式的字符串进行操作的基础。在Perl的运用中,`=~`和`!~`符号起着关键作用。如果在表达式中没...

---请问这个perl的正则表达式~ s\/[\\n\\r]*\/\/g
AAA =~ s\/[\\n\\r]*\/\/g =~s\/A\/B\/g 在模式匹配是 替换,就是将内容A替换成内容B,后面的g是全局,就是全部替换成。[ AB ]出现在中括号的是任意的其中一个,\\n \\r是换行符 ,[\\n\\r]* *号是0个或以上 总起来:将$AAA中的所有的换行符全部替换为空,也就是将所有换行去掉。

Perl语言学习之正则表达式(regular expression)
Perl的正则表达式主要涵盖三种操作:匹配、替换和转化。这些操作可与`=~`或`!~`指令配合使用,`=~`代表匹配,`!~`代表不匹配。在执行操作时,若左侧没有待处理的标量变量,则默认处理`$_`变量的内容。例如,进行字符串匹配或替换操作时,Perl会自动为括号内的模式赋值给系统变量`$1`、`$2`等。P...

perl语言,用正则表达式将一个文本中所有<>之间的字符串替换成1
精通perl精通正则 use strict;use strict;my $string="fdasaaaaaaaa<fsafefasfda dfdsf> fasfasf4gtr";print $string,"\\n";$string=~s\/\\<.*?\\>\/\\<1\\>\/g;对<进行转义\\< >进行转义\\> .代表任意字符 代表任意个数 ?代表非贪婪匹配print $string;...

哪位大虾解释一下Perl语句 $dir =~ s!\/+$!!;
dir =~ s!\/+$!!;这是一个正则表达式替换语句,表示把$dir进行替换(=~s),把末尾的一个或者多个\/替换为空,本语句就是删除末尾\/的功能。!是正则表达式的分界符号,三个!有两部分内容,前面部分是查找内容,后面部分是替换内容。查找内容里面\/+表示一个或者多个\/,$表示行尾。

Perl怎样去除空白行?
可以用正则表达式替换,例子程序:my $s="Hello, how are you? I'm fine thank you.And you? I'm fine too.The End";print $s;print "\\n===\\n";s =~ s\/\\n+\/\\n\/g;print $s;

perl 数据分解及转换
perl 定义一个变量要以$符开头,应该是my $solt 第一个可以用正则表达式替换s\/[a-z](\\d)*\/$2\/ 第二个用split函数 @array=split \/R\/,$solt;

$condition1 =~ s\/^s+|s+$\/\/g;perl中有这样的写法吗
有的,这是正则表达式替换,这一行完成的是 替换所有 连续的s开头或结尾的部分 condition1 =~ s\/^s+|s+$\/\/g;| | | --- | 待替换字符串 | ~是正则标识符 s指定操作为替换,语法是: =~s\/ \/ \/; 有三个斜杠,前两个斜杠内是匹配模式,后两个斜杠是 替换内容,无则替换为空。...

perl 正则表达式替换产生不换行
第一:chmop;这个做了处理,所以换行符没了;第二:约定俗成。

相似回答