Eri*_* R. 1 regex normalization street-address
只是提前注意:我是一个正念新手.也许对这个问题的一个很好的答案将涉及将我与一个解释这些条件如何工作的资源联系起来:)
让我们说我有一个街道名称,如23rd St或5th St.我想摆脱诉讼"th","rd","nd"和"st".如何才能做到这一点?
现在我的表达式为:(st | nd | rd | th).这个问题是它也会匹配包含"st","nd","rd"或"th"的街道名称.所以我真正需要的是一个条件匹配,它在自身之前寻找至少一个数字(即;第一个而不是街道).
谢谢!
听起来你只想匹配序数后缀(st | nd | rd | th),是吗?
如果你的正则表达式引擎支持它,你可以使用lookbehind断言.
/(?<=\d)(st|nd|rd|th)/
Run Code Online (Sandbox Code Playgroud)
匹配(st|nd|rd|th)只有在前面加一个数字\d,但对手也抓住数字本身.