【发布时间】:2017-03-17 20:56:25
【问题描述】:
建议的美国号码的正则表达式here:
^[+-]?(\d*|\d{1,3}(,\d{3})*)(\.\d+)?\b$
工作得很好。我尝试了几个使用此服务的示例https://regex101.com/
但是,使用 tcl 的正则表达式如下:
regexp { ^[+-]?(\d*|\d{1,3}(,\d{3})*)(\.\d+)?\b$ } 120.00
返回“0”。
我到了tcl“引用地狱”吗?
【问题讨论】:
-
如果您的目标是研究正则表达式,那么数字字符串是一个很好的工作领域。如果您的目标是识别数字字符串,那么调用
string is double -strict [string map {, {}} $candidate]会快得多且不会那么混乱。