Я пытаюсь найти в тексте экземпляры римских цифр, за которыми следуют остановка и пробел, например IV.
.Они указывают на начало стихов.Однако некоторые стихи не начинаются с римских цифр, поэтому я вставил теги [NV]
в начале этих стихов.У меня есть регулярное выражение, которое может найти цифры и регулярное выражение, которое может найти теги [NV]
, но я не могу объединить их в одном регулярном выражении, которое будет искать один или другой из них.
Мое регулярное выражение длянахождение цифр:
numeralpat = re.compile(r'[IVX]{1,4}\. ')
Я подумал, что могу поместить это в набор с другим регулярным выражением, чтобы найти либо цифру, либо тег [NV]
:
numeralpat = re.compile(r'[(\[NV\])([IVX]{1,4}\. )]')
Это вызываетпроблема в скобках одного типа, поэтому я попытался экранировать разные символы, чтобы заставить его работать.Ничто из этого не сработало для меня.Можно ли это сделать с помощью регулярных выражений?
Изменить, чтобы добавить образец текста:
Текст:
I. this is some text with a verse numeral
II. this is some text with a verse numeral
III. this is some text with a verse numeral
[NV]this is text with no verse numeral
IV. this is some text with a verse numeral
V. this is some text with a verse numeral
Ожидаемые совпадения:
'I. '
'II. '
'III. '
'[NV]'
'IV. '
'V. '