Как насчет:
\d+(?=\s*\<[^\>]+\>[^\<]*\bDecisions\b)
\d+(?=\s*<[^>]+>[^<]*\bDecisions\b)
Это выберет только 1 (и ничего больше)
Вторая форма для процессора регулярных выражений, который не должен экранировать <
и >
.
Выражение предпросмотра (?=...)
гарантирует выбор числа \d+
, за которым следует элемент (), содержащий текст (означающий отсутствие открытия '<
': [^<]*
), который включает слово Decisions.
Технику прогнозирования можно комбинировать с другими регулярными выражениями, такими как:
\s\d(?=\s*\<[^\>]+class\s*=\s*'Txt9Gray'[^\>]*\>)
\s\d(?=\s*\<[^>]+class\s*=\s*'Txt9Gray'[^>]*>)
будет получать одну цифру (при условии, что она следует за пробелом), за которой следует элемент, содержащий атрибут 'class='Txt9Gra
y' '