Мне нужен шаблон регулярного выражения python, который совпадает с необязательным именем и знаком равенства, за которым следует целое число в функции. Python имена начинаются с алфавита c или символа подчеркивания и продолжаются (алфавит c, цифры c или подчеркивание). Целые числа имеют необязательный знак, за которым следуют несколько ненулевых чисел. Это не допускает пробелов в тексте.
Совпадения имеют имя и значение в словаре.
m = re.match(the-pattern,'x=3’) m.groupdict()
вернется
{'name': 'x', 'value': '3'}.
Некоторые тестовые случаи
re.match(p4a,'_a_b_c_12_=12').groupdict()
-> {'name': '_a_b_c_12_', 'value': '12'}
re.match(p4a,'x=-12345').groupdict()
-> {'name': 'x', 'value': '-12345'}
import re
#pattern = r"([_]+$?[A-Za-z0-9_]+$[=][0-9])"
pattern = r"(([A-Za-z]|_)|[0-9]|[=]\d+$)"
if re.match(pattern, "LS8"):
print("Match 1")
if re.match(pattern, "_a_b_c_12_=12"):
text = "_a_b_c_12_=12"
items = text.split('=')
d = {'name': items[0], 'value': items[-1]}
print("Match 2 ", d)
if re.match(pattern, "1ab"):
print("Match 3")
Я получаю вывод как
, но я хочу вывод как Совпадение 2 {'name': '_a_b_c_12_', 'value': '12'}