java - [++]*+ 在正则表达式中代表什么

标签 java android regex libphonenumber

我正在使用 libphonenumber我尝试检查一些电话号码是否使用正则表达式模式 VALID_PHONE_NUMBER 有效,可以找到 here看起来像这样

private static final String VALID_PHONE_NUMBER =
      DIGITS + "{" + MIN_LENGTH_FOR_NSN + "}" + "|" +
      "[" + PLUS_CHARS + "]*+(?:[" + VALID_PUNCTUATION + STAR_SIGN + HASH_SIGN +"]*" + DIGITS + "){3,}[" +
      VALID_PUNCTUATION + STAR_SIGN + HASH_SIGN + VALID_ALPHA + DIGITS + "]*";

在我的 Android 手机上,此表达式被编译为以下内容

\p{Nd}{1}|[++]*+(?:[-x--?-?--/  ­?? ()()[].\[\]/~?~~*#]*\p{Nd}){3,}[-x--?-?--/  ­?? ()()[].\[\]/~?~~*#DEFGABCLMNOHIJKUTWVQPSRYXZdefgabclmnohijkutwvqpsryxz\p{Nd}]*

[++]*+是什么意思

是不是表示“plus-or-plus 0-or-more-times and then plus?”

两个加号并排有意义吗?

最佳答案

[++] 匹配 ++

*+ 匹配 [++] 零次或多次,所有格

参见:http://www.regular-expressions.info/possessive.html

关于java - [++]*+ 在正则表达式中代表什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18233247/

相关文章:

JAVA移动设备-本地存储数据

android - 在 Android 上渲染 Maya 动画?

android - 显示空白灰色 map 的谷歌地图 fragment

java - 用参数/标记替换正则表达式字符串

javascript - 正则表达式匹配以 http 或斜杠开头的 url

C++11 VS12 regex_search

java - 在异常情况下提供附加信息的可持续方法?

java - 使用 Spring Boot 和 MongoDB 的领域事件

Java替换特定字符

android - 我无法在 Android Studio 中设置 JDK 1.8