Что такое регулярное выражение для этого совпадения?

Я пытаюсь сопоставить число перед точкой с запятой, но я не могу использовать квантификатор в своем ретроспективном анализе, поэтому я понятия не имею, как это сделать.

Строка (да, между "item[##]" и "=" есть пробелы табуляции)

<script language="javascript">
item[19]    = 13;
item[14]    = 13;
item[17]    = 7;
item[1] = 2;
</script>

Я хотел бы получить 13, 13, 7 и 2

Это мой текущий RegEx, который явно не работает:

(?<=item\[[0-9]).*?(?=;)

person IamACatBug    schedule 24.06.2014    source источник


Ответы (1)


Получите его в совпадающей группе 1, которая захвачена с помощью круглых скобок ()

Строковые литералы для использования в программах:

@"item\[\d+\].*?=\s+(\d+);"

Протестировано здесь

person Braj    schedule 24.06.2014
comment
Благодарю вас! Работает отлично. Для любого прохожего я использовал System.Text.RegularExpressions.Match.Groups(1).Value, чтобы вернуть числа, которые я искал! - person IamACatBug; 24.06.2014
comment
Коротко и мило, +1 :) - person zx81; 25.06.2014