3
私の入力データは以下の通りです。私は-
の6位と7位の間で単語をグループ化したいと思います。このためn番目の文字を一致させる方法はありますか?
my $sa = "a1a1a1-b1b1b1-c-ddd-eee-fff-gggggg-hHhH-iiii-j-KKKKK";
、実際の正規表現は、正規表現を構築するために
/[^-]+-[^-]+-[^-]+-[^-]+-[^-]+-([^-]+)-/
だった、私は私の疑問、以下のように
my $avc = "[^-]+-" x 5 . "([^-]+)-";
my $ar = qr"$avc";
$sa =~m/$ar/g;
print $1;
を試みたが、いずれかのオプションがあります内で利用可能です正規表現。 x
を使用しないでください。どのように私は単一の正規表現でそれを行うことができますか?
'/(?:[^ - ] + - ){5}([^ - ] +) - /' –
はなく、「スプリットを使用' 'my $ value =(split/- 、$ sa)[6];' – Sobrique