在替代中是否有与 sed 或 vim 的 `\l` 和 `\u` 等效的 perl?
Is there a perl equivalent to sed's or vim's `\l` and `\u` in substituting?
在sed(1)
& vim(1)
中,正则表达式替换语法中有一组'operators',\u
,\l
,\U
, & \L
.这些将字符转换为小写或大写。因此,如果输入 s/(*.)/\L/g
,理论上它会将整个字符串转换为小写。
Perl 中是否有等效的功能?是某物或等价物,例如...
while(<>) {
s/(*.)/\L/g;
}
有效吗?
是的,它们都存在于 Perl 中。
但是你的正则表达式无效,我猜你想要:
while(<>) {
s/(.*)/\L/g;
}
如果你想将整个字符串小写,我建议你 lc:
while(<>) {
$_ = lc $_;
}
在sed(1)
& vim(1)
中,正则表达式替换语法中有一组'operators',\u
,\l
,\U
, & \L
.这些将字符转换为小写或大写。因此,如果输入 s/(*.)/\L/g
,理论上它会将整个字符串转换为小写。
Perl 中是否有等效的功能?是某物或等价物,例如...
while(<>) {
s/(*.)/\L/g;
}
有效吗?
是的,它们都存在于 Perl 中。
但是你的正则表达式无效,我猜你想要:
while(<>) {
s/(.*)/\L/g;
}
如果你想将整个字符串小写,我建议你 lc:
while(<>) {
$_ = lc $_;
}