1
我试图提取一个孤立的#地址的末尾,但只有如果不是在某些指定后。负面看后面的可变长度匹配之前它
这里是我的测试正则表达式:
/(?<!apt|appt|appartment|ste|suite|box)[,.]? ?# ?([0-9]+)$/i
正则表达式应该在这种情况下失败:
123 W Somewhere St Apt # 321
正则表达式应该找到这个匹配:
123 W Somewhere St # 321
但是,它与上述两者匹配。
我发现,如果我将[,.]? ?# ?
更改为简单#
,那么它的工作原理。
但是,这意味着简单地删除一个空格或添加一个句点到地址将抛出它。
如何让我的负面后台工作,并让我的正则表达式在这种情况下保持灵活性?
在PHP 5.3中实现。
这是有效的,但不允许我在preg_replace()中使用它时替换#号。 – eComEvo
@EcomEvo:在'#'之前移动'\ K', –