无法理解tcl regexp模式匹配,使用^和+

时间:2013-12-02 10:38:20

标签: regex tcl

我有一个简单的TCL正则表达式匹配,

regexp {^[^,]+} $n id

适用于像“1,last”这样的字符串。 它剥离文本并仅返回数字,但我无法理解它是如何工作的 我认为“^”符号表示“忽略”/否定

我无法确定如何确定数字,希望你能帮助我...谢谢

1 个答案:

答案 0 :(得分:6)

^可以有两个含义。

在字符类之外,它是anchor,意思是“字符串的开头”(或行的开头,取决于当前选项)。

character class内,它否定了其内容。 [^abc]匹配的字符既不是a,也不是b,也不是c

因此,在您的示例中,正则表达式仅匹配字符串/行的开头,从而允许[^,]+匹配1并阻止其匹配last