4

我必须限制城市的 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');

这在只有APO, FPO, A.p.o,F.P.O等模式时有效,但在APOPKO不应该发生的城市时仍然匹配。

我尝试过给予\b[af][ .]?p[ .]?o但对我不起作用。有人可以帮忙吗

提前致谢。

4

1 回答 1

2

您可以使用

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

查看正则表达式演示

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

  • ^- 字符串的开始
  • (- 一个组:匹配...
    • [af][ .]?p[ .]?o-apo类似字符串:[af]匹配aor f,然后[ .]?匹配可选(1 或 0)空格或点,然后p匹配p,再匹配[ .]?子模式,最后o匹配o
    • |- 或者
    • [Pp]*(OST|ost)*)- 匹配pP0+ 次(也许您的意思是?- 1 或 0 次),然后是OSTor ost,再次匹配 0+ 次。
  • \b- 尾随词边界
于 2016-04-06T07:56:51.703 回答