Python 3.15 soft-deprecates re.match() and adds re.prefixmatch() to say what it actually does
Simon Willison's Blog·medium signal
Hugo van Kemenade, the Python 3.15 release manager, is soft-deprecating re.match(), marking it as not for new code without any removal plan. The complaint is that the function is 'deeply confusing' because it anchors at the start of the string but not the end, which developers routinely misread. The guidance is re.search() for anywhere, re.fullmatch() for the whole string, and a new re.prefixmatch() that keeps re.match()'s exact behaviour under an honest name.