Более эффективное регулярное выражение для извлечения данных об астрологическом доме?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Более эффективное регулярное выражение для извлечения данных об астрологическом доме?

Сообщение Anonymous »


Я написал сценарий для извлечения данных астрологического дома из карты рождения в формате PDF. Мне интересно, можно ли использовать более эффективное регулярное выражение.

Текущая модель:

house_pattern = r'([A-Z]{2}|[A-Z][a-z]+\.|[0-9]|[0-9]{ 2})\s+([a-z])\s+(\d+°+.\d+\'+.\d+\")' Пример набора данных:

Дома (мест.) Склонение По возрастанию j 3°23'49" 23°23'37" ю.ш. 2 к 13°38'12" 16°43'48" ю.ш. 3 л 25°39'11" 1°43'39" ю.ш. IC a 28°32'56" 10°57'28" с.ш. 5 б 23° 5'14" 18°32'35" с.ш. 6 в 13°27'11" 22°24'45" с.ш. Описание d 3°23'49" 23°23'37" с.ш. 8 е 13°38'12" 16°43'48" с.ш. 9 f 25°39'11" 1°43'39" с.ш. MC g 28°32'56" 10°57'28" ю.ш. 11 ч 23°5’14″ 18°32’35″ ю.ш. 12 и 13°27'11" 22°24'45" ю.ш. Желаемые (и текущие) результаты: Формат: номер дома или точка, знак зодиака, градус/угловая минута/угловая секунда.

('Asc.', 'j', '3°23\'49"') ('2', 'к', '13°38\'12"') ('3', 'л', '25°39'11''') ('IC', 'a', '28°32\'56"') ('5', 'b', '23° 5'14'') ('6', 'c', '13°27\'11"') ('Desc.', 'd', '3°23\'49"') ('8', 'е', '13°38'12'') ('9', 'f', '25°39'11'') ('MC', 'g', '28°32\'56"') ('11', 'ч', '23° 5'14'') ('12', 'я', '13°27'11'') В настоящее время группа «номер дома/точка» использует массу слишком конкретных операторов ИЛИ. Как я могу выполнить рефакторинг, чтобы получить те же результаты?

Я опробовал приведенный выше шаблон и протестировал его на regex101.com. Я немного поискал в Google, но изо всех сил пытаюсь найти ответ, достаточно похожий, чтобы соответствовать моему варианту использования. Мой текущий шаблон возвращает правильные результаты, но кажется, что он мог бы быть намного лучше.
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»