Do you mean street address matching? Isn’t that already solved? (excuse the naive question)
You will typically have a master/canonical list of addresses from an official source. In the UK that's Ordnance Survey's AddressBase.
You will then have 'messy addresses' that humans have written down. For simple addresses, they'll often be the same as the master version (e.g. 5 Rainbow Road, Hemel Hempstead, AB1 2BC).
But there are many harder addresses that exhibit lots of variations, especially flats and subunits.
These may all be the same: Flat A 1 High Street vs 1A High Street vs Basement Flat, 1 High Street
There no guarantee there will be a number in the address. In: 'THE OLD FARM COTTAGE PAD FARM BADGERCROFT ROAD PIKING', 'THE' and PAD FARM' may be missing, which doesn't seem like a problem until you find out there's also a PAD FARM COTTAGE on Badgercroft Road. There's no guarantee tokens will be in the same order.
FWIW, my work is open source, and it's here: https://github.com/RobinL/uk_address_matcher