我有一个简单的TCL正则表达式匹配,
regexp {^[^,]+} $n id
适用于像“1,last”这样的字符串。 它剥离文本并仅返回数字,但我无法理解它是如何工作的 我认为“^”符号表示“忽略”/否定
我无法确定如何确定数字,希望你能帮助我...谢谢
答案 0 :(得分:6)
^
可以有两个含义。
在字符类之外,它是anchor,意思是“字符串的开头”(或行的开头,取决于当前选项)。
在character class内,它否定了其内容。 [^abc]
匹配的字符既不是a
,也不是b
,也不是c
。
因此,在您的示例中,正则表达式仅匹配字符串/行的开头,从而允许[^,]+
匹配1
并阻止其匹配last
。