我正在尝试使用正则表达式在我的期望脚本中进行简单的比较。但是,由于某种原因,它不起作用。
if { $loadNum == {[0-9]+} } {
Do something
} else {
Exit
}
loadNum是我从用户那里得到的输入,我只是想确保它只是一个数字。 但是,使用上面的脚本,它总是会遇到其他情况。
你可以帮助我找到我做错的事吗?答案 0 :(得分:2)
为什么要将字符串与正则表达式进行比较?我认为你应该使用命令“regexp”。
if {[regexp {[0-9]+} $loadNum]} {
Do something
} else {
Exit
}
答案 1 :(得分:1)
如果您想检查字符串是否包含数字:
if {[regexp {\d} $loadNum]}
# or
if {[string match {[0-9]} $loadNum]}
如果您想检查您的字符串是否只是 ,请选择
之一if {[regexp {^\d+$} $loadNum]}
if {![regexp {\D} $loadNum]}
if {![string match {[^0-9]} $loadNum]}