|
有时,希望确保被替换的字符串均是大写的(或者不是,视情况而定)。这在Perl 中只需使用某些修饰符就能办到。\U 要
求紧接着的均是大写:
$_ =“I saw Barney with Fred.”;
s/(fred|barney)/\U$1/gi; #$_现在是“I saw BARNEY with FRED.”
同样,也可以要求后面的均为小写:\L:
s/(fred)|barney/\L$1/gi; #$_现在是“I saw barney with fred.”
默认时,会影响到剩余的(替换的)字符串。可以使用\E 来改变这种影响:
s/(\w+) with (\w+)/\U$2\E with $1/I; #$1 现在是“I saw FRED with barney.”
使用小写形式时(\l 和\u),只作用于下一个字符:
s/ (fred|barney)/\u$1/ig; #$_现在是“I saw FRED with Barney.”
也可以同时使用它们。如使用\u 和\L 表示“第一个字母大写,其它字母均小写”◆:
◆\L 和\u 可以按任意顺序出现。Larry 意识到人们有时可能按相反顺序使用它们,因此他将Perl 设计成,在这两种情况下都是将第一个字
母大写,其余的小写。Larry 是个非常好的人。
s/(fred|barney)/\u\L$1/ig; #$_现在为“I saw Fred with Barney.”
这些在替换中出现的大小写转换的修饰符,也可在双引号中使用:
print “Hello, \L\u$name\E, would you like to play a game?\n”;
|
|