我在regexr中开发了一些正则表达式,它按预期工作,但是当我在Go中使用它时,似乎是不匹配的字符串。
(\+|-)?(((\d{1,3}[, ])(\d{3}[ ,])*\d{3})|\d+)( ?[\.,] ?(\d{3}[, ])*\d+)?
例如,在regexr中,以下输入不匹配:
1.12,4.64
但在Go中确实匹配。
答案 0 :(得分:5)
^(\+|-)?(((\d{1,3}[, ])(\d{3}[ ,])*\d{3})|\d+)( ?[\.,] ?(\d{3}[, ])*\d+)?$
尝试使用锚点。^$
将禁用部分匹配。请参阅演示。