0

我为电话号码创建了一个正则表达式,如下所示\\d+ ?\\w{0,9} ?\\d+。现在我有一个问题,它只接受数字。有时我收到的电话号码是星号,所以它可能是 011***1334。我怎样才能将星星部分合并到上面的正则表达式中。

4

2 回答 2

1

我无法让你的正则表达式首先工作,没有星星,

但无论如何......你可以通过逃避它来代表明星。

\*

所以你应该把你所有的都\d变成[\d\*],或者[\\d\\*]如果你必须\在你的java中转义第一个。

一些正则表达式引擎不需要你转义所有特殊字符,[]所以如果它一开始不起作用,我会注意这种行为

于 2013-04-19T19:01:20.473 回答
0

任何你用的地方\\d,把它变成[\\d\\*]

[\\d\\*]+ ?\\w{0,9} ?[\\d\\*]+

不过,我同意山姆的观点;原来看起来很奇怪。如果您只需要数字和星号,应该这样做(转义 Java 风格):

[\\d\\*]{7,10}
于 2013-04-19T19:01:06.373 回答