.NET Regex Negative Lookahead For Upper Case Letters -
trying work expression custom .net application extract zip codes addresses.
the addresses in single line
12345 example street, ny 10019 united states used following expression
\d{3,5}-\d{3,5}|\d{5}(?![a-z]{2}) but seems fetching both 12345 zip code 10019. considering have mentioned 2 upper case letters in negative lookahead, shouldn't considering zip code preceded 2 letter ny code? doing wrong here?
i using |operator zip codes in 12345-12345 12345 formats
please check regex testing here
you may use lookbehind here:
\d{3,5}-\d{3,5}|(?<=[a-z]{2}\s+)\d{5} see regex demo
the (?<=[a-z]{2}\s+) require 2 uppercase letters , 1 or more whitespaces before 5 digits.
to make sure match specified number of digits, may use word boundaries \b:
\b(?:\d{3,5}-\d{3,5}|(?<=[a-z]{2}\s+)\d{5})\b see another demo.
Comments
Post a Comment