在sed(1)
和vim(1)
中,正则表达式替换语法中有一组“运算符”,分别为\u
,\l
,\U
和&{ {1}}。这些字符转换为小写或大写。因此,如果要输入\L
,理论上它将把整个字符串转换为小写。
Perl中是否有等效的功能?是类似的东西...
s/(*.)/\L\1/g
有效吗?
答案 0 :(得分:6)
是的,它们全部都存在于Perl中。
但是您的正则表达式无效,我想您想要
while(<>) {
s/(.*)/\L$1/g;
}
如果要对整个字符串进行小写,建议您lc:
while(<>) {
$_ = lc $_;
}