我必须限制该市的APO FPO地址。我已经通过使用此正则表达式完成了

var regExp : RegExp = new RegExp('^[af][ .]?p[ .]?o|[P|p]*(OST|ost)*\.*\s*[O|o|0]*(ffice|FFICE)*\.*\s*[B|b][O|o|0][X|x]','i');


当仅存在APOFPOA.p.oF.P.O等模式时,此方法有效,但在城市为APOPKO的情况下(即使不应该发生)仍然匹配。

我尝试在\b之后给出[af][ .]?p[ .]?o,但对我不起作用。有人可以帮忙吗

提前致谢。

最佳答案

您可以使用

^([af][ .]?p[ .]?o|[Pp]*(OST|ost)*)\b\.*\s*[Oo0]*(ffice|FFICE)*\.*\s*[Bb][Oo0][Xx]


请参见regex demo

我稍微整理了一下模式,但POI是^([af][ .]?p[ .]?o|[Pp]*(OST|ost)*)\b


^-字符串开始
(-一组:匹配任一...


[af][ .]?p[ .]?o-类似apo的字符串:[af]匹配af,然后[ .]?匹配可选的(1或0)空格或点,然后p匹配p,然后再次[ .]?子模式,并且o匹配o
|-或
[Pp]*(OST|ost)*)-匹配pP 0+次(也许是?-1或0次),然后匹配OSTost,再匹配0+次。

\b-尾随单词边界

10-06 00:52