Данное условие должно соответствовать либо telco_imac_city
, либо telco_hier_city
. Когда это удается, мне нужно извлечь второй символ подчеркивания, который был сопоставлен.Perl условное вытягивание регулярного выражения
я могу заставить его работать с этим кодом
if (($value =~ /(telco_imac_)city/) || ($value =~ /(telco_hier_)city/)) {
print "value is: \"$1\"\n";
}
Но если это возможно, я бы предпочел использовать одно регулярное выражение, как этот
$value = $ARGV[0];
if ($value =~ /(telco_imac_)city|(telco_hier_)city/) {
print "value is: \"$1\"\n";
}
Но если я передать значение telco_hier_city
я получаю этот выход на тестирование второго значения
Что я делаю неправильно?
OP хочет вернуть «только до 2-го подчеркивания значения, что было подобрано» (т.е. , 'telco_hier_' или' telco_imac_'). – admdrew