Объединение 2 регулярных выражений - PullRequest
1 голос
/ 03 июля 2019

У меня есть 2 строки, и я хотел бы получить результат, который дает мне все до первого '\ n \ n'.

1. melléklet 37/2018. (XI. 13.) MNB rendelethez \ n \ nÁltalános kitöltési előírások \ nI. \ NA felügyeleti jelentésre vonatkozó általános szabályok \ n \ n1.

'12. melléklet 40/2018. (XI. 14.) MNB rendelethez \ n \ nÁltalános kitöltési előírások \ n \ nKapcsolódó jogszabályok \ naz knkéntes Kölcsönös Biztosító Pénztárakról ésól. törvény (továbbiakban: Öpt.); \ na személyi jövedelemadóról szóló 1995. évi CXVII.

Я пытался объединить 2 регулярных выражения, чтобы решить мою проблему; тем не менее, я мог бы быть и на плохом пути. Может быть, функция может быть проще, я не знаю.

Я прилагаю тот, который говорит, что я нахожу символ 'z'

extended regex : [\z+$]
I guess finding the first number is: [^0-9.].+

Моя проблема в том, как объединить эти два выражения, чтобы получить строку между ними?

Есть ли более эффективный способ сделать?

1 Ответ

1 голос
/ 03 июля 2019

Вы можете использовать

re.findall(r'^(\d.*?)(?:\n\n|$)', s, re.S)

Или с re.search, так как кажется, что ожидается только одно совпадение:

m = re.search(r'^(\d.*?)(?:\n\n|$)', s, re.S)
if m:
    print(m.group(1))

См. Демонстрационную версию Python .

Детали шаблона

  • ^ - начало строки
  • (\d.*?) - Группа захвата 1: цифра, а затемлюбые 0+ символов, как можно меньше
  • (?:\n\n|$) - группа без захвата, соответствующая двум символам новой строки или концу строки.

См. график регулярных выражений 1028 *:

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...