正则表达式“^ ”或“”

^[a-zA-Z][^a-zA-Z]之间有区别吗?

当我签入C#时,

 Regex.IsMatch("t", "^[a-zA-Z]") // Returns true (I think it's correct) Regex.IsMatch("t", "[^a-zA-Z]") // Returns false 

有许多网站使用[^a-zA-Z]作为字母表。 我不确定哪一个是正确答案。

是的,第一个意思是“匹配所有以字母开头的字符串”,第二个意思是“匹配所有包含非字母的字符串”。 插入符号(“^”)以两种不同的方式使用,一种用于表示文本的开头,一种用于否定方括号内的字符匹配。

^[a-zA-Z]表示行开头的任何az或AZ

[^a-zA-Z]表示任何不是az或AZ的字符

它们是有区别的。

^字符出现在[]之外时,匹配行(或字符串)的开头。 当^字符出现在[] ,它匹配[]未出现的任何字符。

^字符类之外(“[a-zA-Z]”)注意它是“开始于”运算符。
^字符内部否定指定的类。

因此,“^ [a-zA-Z]”转换为“以az或AZ开头的字符”,“[^ a-zA-Z]”转换为“不是az或AZ”

这是一个快速参考: http : //www.regular-expressions.info/reference.html