我在regexr中开发了一些正则表达式,它按预期工作,但是当我在Go中使用它时,似乎是不匹配的字符串.
(\+|-)?(((\d{1,3}[, ])(\d{3}[ ,])*\d{3})|\d+)( ?[\.,] ?(\d{3}[, ])*\d+)?
Run Code Online (Sandbox Code Playgroud)
例如,在regexr中,以下输入不匹配:
1.12,4.64
Run Code Online (Sandbox Code Playgroud)
但在Go中它确实匹配.
^(\+|-)?(((\d{1,3}[, ])(\d{3}[ ,])*\d{3})|\d+)( ?[\.,] ?(\d{3}[, ])*\d+)?$
Run Code Online (Sandbox Code Playgroud)
试试锚点.^$将禁用部分匹配.参见演示.
https://regex101.com/r/qH1uG3/4