Регулярное совпадение и группировка - PullRequest
1 голос
/ 15 января 2009

Вот пример строки, которую я хочу сделать регулярным выражением

101-nocola_conte_-_fuoco_fatuo_(koop_remix)

Первая цифра в «101» - это номер диска, а следующие 2 цифры - это номера дорожек. Как мне сопоставить номера дорожек и игнорировать номер диска (первая цифра)?

Ответы [ 4 ]

3 голосов
/ 15 января 2009

Что-то вроде

/^\d(\d\d)/

Будет соответствовать одна цифра в начале строки, а затем захватить следующие две цифры

1 голос
/ 15 января 2009

Вы имеете в виду, что вы не против того, что номер диска, но вы хотите совпадать, скажем, с номером дорожки 01?

В Perl вы можете подобрать это так: "^ [0-9] 01. *"
или, проще говоря, «^ .01. *» - это означает, что вы даже не возражаете, если первый символ не является цифрой.

1 голос
/ 15 января 2009
^\d(\d\d)

Вам может потребоваться \ перед ( в зависимости от среды, в которой вы собираетесь запустить регулярное выражение (например, vi(1)).

0 голосов
/ 15 января 2009

Какой язык программирования? Для оболочки что-то с egrep сделает работу:

echo '101-nocola_conte_-_fuoco_fatuo_(koop_remix)' | egrep -o '^[0-9]{3}' | egrep -o '[0-9]{2}$'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...