Поэтому я использую модуль re для компиляции своего регулярного выражения, и мое регулярное выражение выглядит следующим образом:
"(^ ~ \ w +? [& ~ \ w +? ] *? $) "
Поэтому я компилирую его с использованием pattern = re.compile (regex), а затем использую re.findall (pattern, string), чтобы найти, соответствует ли данная строка, и дайте мне группу, если она есть.
Строка, с которой я сопоставляю: "v1 V ~ v2_ V ~~ v3".
Я ожидаю, что совпадения не будет, но там написано что это соответствует регулярному выражению. Я подозреваю, что \ w + соответствует пробелам, так что он соответствует всей строке, но я не смог найти в документации, которая является правильной. Что мне не хватает?
Вот это минимально воспроизводимый пример:
import re
test_string = "v1 V ~v2_ V ~~v3"
regex = "(^~*\w+?[ & ~*\w+?]*?$)"
pattern = re.compile(regex)
for elem in re.findall(regex, test_string):
print(elem)