1

我正在使用 javascript 来捕获地址字段中的任何邮政信箱表达式。我的正则表达式现在看起来像这样:

var pattern = /(p[-. ]?o.?[- ]? )b(.|ox)/i;

问题是它不会捕获以下表达式:

P. O. Box

但会抓住:

P.O. Box

我怎样才能修改我的代码,以便它可以捕获一个在Pand之间有空格的表达式O,并且仍然可以捕获po box

4

2 回答 2

1

使用以下正则表达式

var pattern = /(p[-. ]?\s*o.?[- ]? )b(.|ox)/i;

\s之前刚加O的。

于 2013-08-30T18:11:07.170 回答
1
   [Pp]\.(|\s*)[Oo].(|\s*)box

正则表达式可视化

在 Debuggex 上实时编辑

由于某种原因,我无法在我的机器上工作时不区分大小写......但是,它可能会在你的机器上完美工作。

[Pp]\.(|\s*)[Oo].(|\s*)[Bb][Oo][Xx]

这是一个没有 /i 的作品

于 2013-08-30T19:07:57.317 回答