不同版本的 tcl 给出不同的答案
Different version of tcl giving different answers
我是运行tcl 8.0版本中的这个功能
proc test {} {
set owner 212549316
set val [regexp {[0-9]{9}} $owner]
puts $val
}
tcl 8.6 中的相同代码,输出是 1
但在 tcl 8.0 中是 0
。
我正在检查字符串是否仅包含 tcl 8.0 中的 9 位数字。
任何有关如何使其在 tcl 8.0 verison 中工作的帮助。
在 Tcl 8.0 中,绑定(或限制)量词are not supported。
要匹配 Tcl 8.0 中的 9 位数字,您必须重复 [0-9]
9 次:
set val [regexp {[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]} $owner]
从 Tcl 8.1 开始支持绑定量词,引入了 高级正则表达式 语法。
Tcl 8.0 中可用的基本正则表达式语法仅包括:
. Matches any character.
* Matches zero or more instances of the previous pattern item.
+ Matches one or more instances of the previous pattern item.
? Matches zero or one instances of the previous pattern item.
( ) Groups a subpattern. The repetition and alternation operators apply to the preceding subpattern.
| Alternation.
[ ] Delimit a set of characters. Ranges are specified as [x-y]. If the first character in the set is ^, then there is a match if the remaining characters in the set are not present.
^ Anchor the pattern to the beginning of the string. Only when first.
$ Anchor the pattern to the end of the string. Only when last.
请参阅 Tcl 和 Tk 实用编程,第 3 版。
© 1999,布伦特·韦尔奇 (Brent Welch),第 11 章,第 12 页。 146.
我是运行tcl 8.0版本中的这个功能
proc test {} {
set owner 212549316
set val [regexp {[0-9]{9}} $owner]
puts $val
}
tcl 8.6 中的相同代码,输出是 1
但在 tcl 8.0 中是 0
。
我正在检查字符串是否仅包含 tcl 8.0 中的 9 位数字。
任何有关如何使其在 tcl 8.0 verison 中工作的帮助。
在 Tcl 8.0 中,绑定(或限制)量词are not supported。
要匹配 Tcl 8.0 中的 9 位数字,您必须重复 [0-9]
9 次:
set val [regexp {[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]} $owner]
从 Tcl 8.1 开始支持绑定量词,引入了 高级正则表达式 语法。
Tcl 8.0 中可用的基本正则表达式语法仅包括:
. Matches any character.
* Matches zero or more instances of the previous pattern item.
+ Matches one or more instances of the previous pattern item.
? Matches zero or one instances of the previous pattern item.
( ) Groups a subpattern. The repetition and alternation operators apply to the preceding subpattern.
| Alternation.
[ ] Delimit a set of characters. Ranges are specified as [x-y]. If the first character in the set is ^, then there is a match if the remaining characters in the set are not present.
^ Anchor the pattern to the beginning of the string. Only when first.
$ Anchor the pattern to the end of the string. Only when last.
请参阅 Tcl 和 Tk 实用编程,第 3 版。 © 1999,布伦特·韦尔奇 (Brent Welch),第 11 章,第 12 页。 146.