У меня есть регулярное выражение, определенное в python, и я пытаюсь извлечь соответствующий текст, используя python.Но он всегда возвращает None.
Это текст файла конфигурации, который определяется как myConf.conf
input {
name: "abc",
age: "20"
}
filter {
name: "pqr",
age: "25"
if [message] =~ "TRANSACTION:request" {
grok {
match => { "message" => "\[%{TIMESTAMP_ISO8601:timestamp}] %{LOGLEVEL:level} \{% {DATA:logtype}}
}
map['method'] = event.get('method')
map['request'] = event.get('body')
}
drop {}
aggregate {
task_id => "%{tid}"
}
}
output {
stdout{}
}
Это мой код Python.Он считывает данные из файла myConf.conf и пытается найти соответствие регулярному выражению
import re
path = "./myConf.conf"
file = open(path, "r+")
text_val = str(file.read())
pattern = re.compile(r"^filter\s*\{[\w\W]+?\n\}$")
result = pattern.search(text_val)
print(result)
Нет проблем в регулярном выражении.Он отлично работает Регулярное выражение
Я программист на Java и совершенно новичок в программировании на Python.Что я тут не так делаю?