Hell Everyone,
Я хотел бы попросить вас о поддержке в следующем вопросе.
Я недавно работаю над сценарием Python, который ищет совпадения примерно для 15 предложений, используя обычные выражения в тысячах файлов.
Предложения, которые мы будем искать, могут изменяться в течение дней / недель, и сценарий будет предоставляться пользователям со знаниями в регулярных выражениях, но не обладающими навыками программирования.
Затем, чтобы сделать этот сценарий более масштабируемым, я хотел сохранить регулярные выражения в другом файле, где эти пользователи могут изменять предложения без необходимости изменять сценарий python.
Пример
Этот файл будет непрерывно изменяться для соответствия различным предложениям.
--- regex.log ---
Th\w*\s+sen\w*
\d{0,3}
--- match.py ---
import re
with open("regexs.log", "r") as regexs:
regex = regexs.readlines()
text = "This sentence"
for reg in regex:
match = re.search(reg, text)
Однако это не работает ... когда экспортируются регулярные выражения, python добавляет дополнительные escape-символы к предложению. Например, для двух вышеприведенных регулярных выражений они импортируются, как показано ниже:
"Th\\w*\\s+send\\w*"
"\\d{0,3}"
Back sla sh дублируется, в результате чего регулярные выражения больше не используются, так как они больше не соответствуют предложениям. .
Просто интересно, есть ли способ импортировать эти регулярные выражения в исходное состояние?
Аналогичная операция происходит, если регулярные выражения сохраняются в списке:
>>> reg = ["\w+\n"]
>>> reg
['\\w+\n']
Привет.