Tcl 中 +ve(或 -ve)小数的正则表达式

Regexp for a +ve (or -ve) fraction number in Tcl

我正在尝试找出用于获取

的正则表达式

40 英寸
光功率 = 40 dBm

和-5.5
光功率 = -5.5 dBm

我用了(\+|-?[0-9]+\.[0-9]+)。但它不适用于第一种情况。

你可以试试这个,

[+-]?[0-9]+(?:\.[0-9]+)?

[+-]? 匹配一个可选的加号或减号字符。

如果你的字符串在变量中str

regexp {= (\S+)} $str -> n

会给你变量n中的数字。

set n [lindex $str 3]

在 Tcl 中也可以。

文档:lindex, regexp, set