有问题的正则表达式是
(\d{3,4}[.-]?)+
示例文本
707-7019-789
到目前为止我的进展
( )+ a capturing group, capturing one or more
\d{3,4} digit, in quantities 3 or 4
[.-]? dot (or something) or hyphen, in quantities zero or one <-- this is the part I'm interested in
根据我的理解,这应该匹配3位或4位数字,后跟一个点(或任何东西,因为点匹配任何东西)或连字符,捆绑在一个组中,一次或多次。为什么这不符合
707+123-4567
然后?
答案 0 :(得分:7)
.
中的 []
只是文字.
,它没有“任何”的特殊含义。 [.-]?
表示“点或连字符或无”,因为?
使整个组成为可选组。
答案 1 :(得分:1)
括号删除了点的功能。 括号表示“范围”/“字符类”。 因此,您说从列表/范围/字符类中选择.- 你不是说从“任何东西”列表中选择 - (任何东西都是常规的含义。)
答案 2 :(得分:1)
[.-]?
字面意思是什么:
[.-]
.
和-
字面意思。?