【问题标题】:Regular Expression for Indian Mobile Phone Number (Java) [duplicate]印度手机号码的正则表达式(Java)[重复]
【发布时间】:2018-12-29 04:46:56
【问题描述】:

在中间输出中,我得到如下字符串:

+91 87774 44444‬ (64 messages):

我尝试使用这个正则表达式,但它返回 false:

(^\\+\\d{2} \\d{5} \\d{5} \\(\\d* \\w*\\):)

谁能解释一下,并提供正确答案?我正在使用 Netbeans IDE。

消息末尾包含一个空字符,这就是我无法匹配模式的原因...

【问题讨论】:

  • 这里回答得差不多了:stackoverflow.com/questions/18351553/…
  • (^\\+\\d{2} \\d{5} \\d{5} \(\\d* \\w*\):) ^ 定义模式必须从新行的开头 \\+ 选择 + \\d 表示任何数字,是 [0-9] 的缩写,因此 \\{2} 表示您在下一个两位数中搜索 0-9 \d{5} \\d{5} 表示下一个 5 位,然后是 5 位 * 表示,出现零次或多次,是 {0 的缩写,} \w 表示,作为元字符,用于查找单词字符。我不确定,但通过使用它可能是你跳过所有其他字符 \(\\d* \\w*\)

标签: java regex


【解决方案1】:
\+[0-9]{2}\s[0-9]{5}\s[0-9]{5}

+ 及其后的数字\+[0-9]{2}

空间\s

另外5个号码[0-9]{5}

空间\s

最后 5 个数字 [0-9]{5}

您可以在线使用Java Regular Expression

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-06-25
    • 2013-08-23
    • 1970-01-01
    • 1970-01-01
    • 2018-06-05
    • 2011-07-01
    • 1970-01-01
    • 2014-04-18
    相关资源
    最近更新 更多