мне нужно найти «7.1/10
» в «7.1/10&nb
» со следующим регулярным выражением:Почему это регулярное выражение не соответствует в питона
\d{1}\.?\d{0,2}\/10
Но следующий код ничего не найдено:
rating= "7.1/10&nb"
p = re.compile(re.escape("\d{1}\.?\d{0,2}\/10"))
m = p.match(rating)
if m:
print("rating: {}".format(m.group()))
else:
print("no match found in {}".format(rating))
В чем проблема с моим кодом?
вы урожденная d для использования необработанного строкового литерала 'r' вместо' re.escape' 'p = re.compile (r" \ d {1} \.? \ d {0,2} \/10 ")' – rock321987
Изменить 'p = re.compile (re.escape ("\ d {1} \.? \ d {0,2} \/10")) 'to' p = re.compile (r "\ d {1} \.? \ d {0,2} \/10 ")' он будет работать. –
также, я подозреваю, что у вас _may_ возникают проблемы при использовании 'match'..поэтому' match' соответствует только началу строки .. – rock321987