как поймать EOL с регулярным выражением в python? - PullRequest
0 голосов
/ 11 марта 2020

У меня есть строка, которую я хочу перехватить / сопоставить с регулярным выражением в python, это многострочная строка, поэтому в ней есть EOL, но мое регулярное выражение не работает в этой ситуации и выдает ошибку как ниже, кто-нибудь знает, как справиться с этим? Спасибо!


import re
comment = re.compile(r'/((.|\n)*)/')
text="/hello!
/"
m=re.findall(comment, text)
if m:

print (m)

Ошибка, которую я получил:

Файл "", строка 3 text = "/ hello! / ^ SyntaxError: EOL при сканировании строкового литерала

1 Ответ

0 голосов
/ 11 марта 2020

m=re.findall(comment, text, re.DOTALL)

позволяет . соответствовать символу новой строки (я полагаю, в этом вопрос)

print(re.findall("\/.*?\/","""/hel
lo!/""",re.DOTALL))
# ['/hel\nlo!/']

print(re.findall("\/.*?\/","""/hel
lo111/garbage
asd more garbage /h
ello222/""",re.DOTALL))
# ['/hel\nlo111/', '/h\nello222/']
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...