我正在使用libphonenumber并且我尝试检查一些电话号码是否对正则表达式模式 VALID_PHONE_NUMBER 有效,可以在此处找到 它看起来像这样
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}]*
这是什么意思[++]*+
这是否意味着“加或加零次或多次然后加?
将两个加号放在一起有意义吗?