正则表达式"^ [a-zA-Z]"或"[^ a-zA-Z]"

Win*_*Win 21 .net c# regex

有没有之间的差异^[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
Run Code Online (Sandbox Code Playgroud)

有很多网站[^a-zA-Z]用于字母表.我不确定哪一个是正确答案.

tlo*_*lin 62

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


Mit*_*sey 13

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

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


小智 6

它们是有区别的.

^字符出现在[]匹配行(或字符串)的开头之外时.当^角色出现在角色里面时[],它会匹配任何未出现在角色里面的角色[].


The*_*oof 6

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

因此,“^[a-zA-Z]” 翻译为“以 az 或 AZ 的字符开头”,而“[^a-zA-Z]”翻译为“既不是 az 也不是 AZ”

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