Для каждого строкового ввода мне нужно сопоставить только 2 цифры (или много) (которые должны быть разделены пробелом или запятой + пробел (не запятая + цифра).
В случае нижеВы видите результат некоторых примеров. Я не хочу, чтобы мое регулярное выражение улавливало 2 первых примера.
def cleanse_no(string):
regex = r"(?:^|\s)(\d{2})\b"
string = str(string).strip(" .,€")
list_digits = re.findall(regex, string)
digits = ", ".join(list_digits)
return digits
test_digits = ["€ 22.22", ". 23,600.90", "25 45 61", "22, 232, 36, 02,", "1, 23, 456"]
for test_dgt in test_digits:
print(test_dgt,"-------find_no--------->",cleanse_no(test_dgt))
Я получаю эти результаты:
€ 22.22 -------find_no---------> 22
. 23,600.90 -------find_no---------> 23
25 45 61 -------find_no---------> 25, 45, 61
22, 232, 36, 02, -------find_no---------> 22, 36, 02
1, 23, 456 -------find_no---------> 23
Есть идеи?