Мне нужно сопоставить римские цифры в тексте. Например Star Wars VII The Force Awakens
я использую это выражение (?:^|\s)(IX|IV|V?I{0,3})(?:\s|$)
, но он соответствует VII с пробелами, т.е. _VII_
Regex соответствует нечетным пространствам
I судимым (?<=^|\s)(IX|IV|V?I{0,3})(?=\s|$)
но получить Exeption error: look-behind requires fixed-width pattern
Я думаю, что проблема с не захватом групп. Если я использую match
или search
- он возвращает только число, но с sub
- он заменяет обе группы, не захватывающие захват, и группу захвата (число с пробелами).
Цель состоит в том, чтобы сопоставить римские цифры в тексте с пространством или ничем (начало/конец строки) до/после, а не как часть слова.
Вы хотите только соответствуют римским номерам IX, IV, I, II, III, VI, VII, VIII? – timgeb
Да. Ничего больше 9 –