Мои входные данные, как показано ниже. Я хочу сгруппировать слово между 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