我有一个正则表达式,其中包含一个字符类,后跟两个“cadinality”字符 - 不确定它们还叫什么。如果重要的话,它运行的正则表达式引擎是内置的 java 正则表达式。java 字符串文字是:
"[a-zA-Z]{2}[ -]?+\\d{6}"
Run Code Online (Sandbox Code Playgroud)
或者在非爪哇地区:
[a-zA-Z]{2}[ -]?+\d{6}
Run Code Online (Sandbox Code Playgroud)
那么该[ -]?+部分的具体含义是什么?据我所知,从测试来看,好像 + 甚至不存在(最初我认为由于“操作顺序”,我没有意识到它可能会应用于它前面的所有内容,就像有括号一样那里)。
以下通过:
ab123456, ab-123456, ab 123456
Run Code Online (Sandbox Code Playgroud)
以下失败:
aa--123456, aa 123456, aa - -123456, aa-aa-123456
Run Code Online (Sandbox Code Playgroud)