0

このような簡単な質問をして申し訳ありませんが、私は正規表現が本当に苦手で、約 45 分間オンラインで検索しています。

これは文字列です: "R 3"

R は R、G、B、または Y のいずれかです。変数 $color に入れる文字を分離したいと考えています。私はこれをやってみました:

$color = "R 3";
$color =~ s/![rgby]/[rgby]/g;

この:

$color = "R 3";
$color =~ s/[rgby]/g;

誰か骨を投げて、どんな組み合わせになるか教えてくれませんか? それは大歓迎です。

4

1 に答える 1

3

R、G、B、または Y以外のものをすべて削除するために置換したい:

$color = "R 3";
$color =~ s/[^RGBY]//g;

(大文字または小文字の色が必要な場合は/gi代わりに使用)/g

または、置き換える代わりに、音訳演算子を使用できます。

$color =~ tr/RGBY//cd;

または、必要な単一の文字を抽出して、元の文字列を変更せずにそのままにすることもできます。

$string = "R 3";
($color) = $string =~ /([RGBY])/;
于 2013-11-07T23:21:16.570 に答える