Я разрабатываю алгоритм для анализа числа из ряда коротких строк. Эти строки несколько правильные, но есть несколько различных общих форм и несколько исключений. Я пытаюсь создать набор регулярных выражений, которые будут обрабатывать различные формы и исключения; Я буду применять их один за другим, чтобы посмотреть, получу ли я совпадение.
Одна из этих форм выглядит примерно так:
X (Y) Z
Где:
X
- это число, которое я хочу захватить.
Z
- это статический, предопределенный текст. это в основном то, как я определяю, применима ли данная форма или нет.
Y
- строка неизвестной длины и содержания, заключенная в круглые скобки.
Также: Y
необязательно; он не всегда появляется в строке с Z
и X
. Итак, я хочу иметь возможность извлечь числа из всех этих строк:
10 Z
20 (foo) Z
30 (bar) Z
Прямо сейчас у меня есть регулярное выражение, которое захватит первое:
([0-9]+) +Z
Моя проблема в том, что я не знаю, как создать регулярное выражение, которое будет соответствовать серии символов, если и только если они заключены в круглые скобки. Можно ли это сделать в одном регулярном выражении?