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