正则表达式模式不识别模式

时间:2016-04-22 06:00:32

标签: android regex

我使用正则表达式模式从字符串中提取匹配的项目

我的模式是:

"^(([^\\.\\-\\,a-wy-z]([\\(]?(\\+|[x])?\\d+[\\)]?)?[\\s\\.\\-\\,]?([\\(\\d[\\)]?)?[\\s\\.\\-\\,]?(\\d+[\\s\\.\\-\\,]?)+[^\\.\\-\\,a-z])|((\\+|[x])?\\d+))$"

我的字符串是

"This is the string +971 987654321 form which +91 9876543210 all the phone number +91 987 654 3210 has to be extracted +91 987 654 3210 and displayed in the +971-98-7654321 logcat and the post office box  number is 233227"

但遗憾的是,该模式并未识别字符串中的任何匹配模式。我已经验证了" Check RegExp"通过意图行动。此处模式成功识别我在字符串中使用的所有电话号码

感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

假设您的电话号码中至少有10位数(不包括+,空格,-等),这将有效

\s+(\+[\d\s-]{10,})\s+

Regex Demo

如果你假设,没有空格分隔数字和单词,那么你可以使用

(\+[\d\s-]{10,})