很抱歉问这么简单的问题,但是我真的很喜欢正则表达式而且我现在已经在网上搜索了大约45分钟。
这是字符串:“R 3”
R可以是R,G,B或Y. 我想要将那些字母放在变量$ color中。 我试过这样做:
$color = "R 3";
$color =~ s/![rgby]/[rgby]/g;
而且:
$color = "R 3";
$color =~ s/[rgby]/g;
有人可以请我一块骨头告诉我这个组合会是什么吗?非常感谢。
答案 0 :(得分:3)
您想要替换以删除不是 R,G,B或Y的任何内容:
$color = "R 3";
$color =~ s/[^RGBY]//g;
(如果您想要大写或小写颜色,请使用/gi
代替/g
或代替替代,您可以使用transliteration operator:
$color =~ tr/RGBY//cd;
或者你可以只提取你想要的单个字符,并保持原始字符串不变:
$string = "R 3";
($color) = $string =~ /([RGBY])/;