ОТредактированный вопрос с более подробным примером строки
Попытка найти регулярное выражение, которое может извлекать только числовые значения из приведенного ниже образца текста, если за ними следует фраза 'PLD GLTY'
. Я добавил все варианты этого контента, которые смог найти в своих данных. Вот они.
'УКАЗАТЕЛЬ 2903.04.A НЕДОБРОВОЛЬНЫЙ PLD GLTY @ TRL JURY', 'УКАЗАТЕЛЬ 2903.01.B AGGRAVATED NOLLE', 'УКАЗАТЕЛЬ 2911.01 ROBBERY PLD GLTY @ TRL JURY', 'УКАЗАТЕЛЬ 2905.01.A (2 ) NOLLE ',' INDICT 2903.02.B NOLLE ',' INDICT 2911.02.A (2) NOLLE ',' INDICT 2903.111.A (1) FELONIOUS ASSAULT PLD GLTY ',' INDICT 2913.05 ROBBERY PLD GLTY @ TRL JURY ',' INDICT 2923.13.A (3) ИМЕЕТСЯ ОРУЖИЕ В СЛУЧАЕ ИНВАЛИДНОСТИ PLD GLTY '
Ожидаемый результат (в идеале в список python)
[' 2903.04 ',' 2911.01 ',' 2903.111 ',' 2913.05 ',' 2923.13 ']
ОБРАЗЦЫ, РАБОТАЮЩИЕ ЧАСТИЧНО
Пример, который в основном работает
29..\...+(?=PLD GLTY)
Работает лучше, но все еще захватывает слишком много
\d{4}\.\d{2}(.*PLD GLTY)
Почти готово, все еще не совсем
(\d{4}\.\d{2}\d?)(.*PLD GLTY)
Цель состоит в том, чтобы взять приведенный выше текст, который находится в столбце pandas df, и извлеките из этого текста только числовые статуты, в которых ответчик признал себя виновным.
Спасибо за вашу помощь всем, вы, мастера регулярных выражений .