2

この2つのテキストを考えると:

$mir1 = 'microRNA-9a';
$mir2 =  'microRNA10a';
$mir3 =  'microrna3a';

私はそれを次のように変更したい:

miR-9a
miR-10a
miR-3a

microRNA原則として、すべてのバリエーション部分をmiR- Is there any single regex to do that?に置き換えたいと思います。

これを試しましたが、数字部分をキャプチャする方法がわかりません。

my $mirnew = $mir =~ s/microRNA(\d+)/miR-/gi;
4

3 に答える 3

6

実際には何もキャプチャする必要はありません。大文字と小文字を区別せずに置き換えmicroRNA、オプション-miR-:

s/microRNA-?/miR-/i;
于 2013-09-04T08:59:27.250 に答える
1
s/\bmicrorna.*?([\d]+a)\b/miR-$1/ig
于 2013-09-04T09:25:51.410 に答える