很抱歉问这么简单的问题,但我真的很讨厌正则表达式,我已经在网上搜索了大约 45 分钟。
这是字符串:“R 3”
R 可以是 R、G、B 或 Y。我想隔离该字母要放入变量 $color 中的任何内容。我试过这样做:
$color = "R 3";
$color =~ s/![rgby]/[rgby]/g;
和这个:
$color = "R 3";
$color =~ s/[rgby]/g;
有人可以给我一块骨头并告诉我组合是什么吗?将不胜感激。
您想替换以删除不是R、G、B 或 Y 的任何内容:
$color = "R 3";
$color =~ s/[^RGBY]//g;
(如果您想要大写或小写颜色,请使用/gi
而不是)/g
或者代替替换,您可以使用音译运算符:
$color =~ tr/RGBY//cd;
或者您可以只提取您想要的单个字符,并保持原始字符串不变:
$string = "R 3";
($color) = $string =~ /([RGBY])/;