Regex 正则表达式如何匹配精确的3个数字

Regex 正则表达式如何匹配精确的3个数字,regex,go,Regex,Go,对于这些情况,我希望是真的: .123 .000 .999 123 a123 .123a .1234 a.123 在这些情况下,希望为false: .123 .000 .999 123 a123 .123a .1234 a.123 这是我当前的正则表达式: match, _ := regexp.MatchString("[.]{1}[0-9]{3}", ".123a") fmt.Println(match) 但对于以下情况,此模式不会返回false: 什么是正确的正则表达式?如果您很接

对于这些情况,我希望是真的:

.123
.000
.999
123
a123
.123a
.1234
a.123
在这些情况下,希望为false:

.123
.000
.999
123
a123
.123a
.1234
a.123
这是我当前的正则表达式:

match, _ := regexp.MatchString("[.]{1}[0-9]{3}", ".123a")
fmt.Println(match)
但对于以下情况,此模式不会返回false:


什么是正确的正则表达式?

如果您很接近,请尝试使用^[.]{1}[0-9]{3}限制匹配$


模式非常简单,如下所示:

^\.\d{3}$
同:

^\.[0-9]{3}$
即:

^     // from the beginning
\.    // a single dot
\d{3} // a digit (exactly 3 times)
$     // until the end of the string
您必须转义\符号:^\\.\\d{3}$


OP不是说不能返回false吗?@npinti我在这里假设了语言障碍,因为他在技术上重复了他自己关于最后三个匹配的话,说他想要false但不能返回false建议使用反勾号来放置文字字符串``对于正则表达式定义,而不是'..'或。。