Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 正则表达式^[a-zA-Z]”;或;[^a-zA-Z]”;_C#_.net_Regex - Fatal编程技术网

C# 正则表达式^[a-zA-Z]”;或;[^a-zA-Z]”;

C# 正则表达式^[a-zA-Z]”;或;[^a-zA-Z]”;,c#,.net,regex,C#,.net,Regex,^[a-zA-Z]和[^a-zA-Z]之间有区别吗 当我在C#登记时 有许多网站使用[^a-zA-Z]作为字母表。我不确定哪一个是正确的答案 是的,第一个意思是“匹配所有以字母开头的字符串”,第二个意思是“匹配所有包含非字母的字符串”。插入符号(“^”)有两种不同的用法,一种表示文本的开头,另一种表示方括号内字符匹配的否定。有一种不同 当^字符出现在[]之外时,与行(或字符串)的开头匹配。当^字符出现在[]中时,它与[]中未出现的任何字符相匹配^[a-zA-Z]表示行首的任何a-Z或a-Z [^

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

当我在C#登记时

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

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

有一种不同


^
字符出现在
[]
之外时,与行(或字符串)的开头匹配。当
^
字符出现在
[]
中时,它与
[]
中未出现的任何字符相匹配
^[a-zA-Z]
表示行首的任何a-Z或a-Z


[^a-zA-Z]
表示字符类(“[a-zA-Z]”)之外的非a-Z或a-Z的任何字符。请注意,它是“以开头”运算符。
^字符的内部对指定的类求反

因此,“^[a-zA-Z]”翻译为“从a-Z或a-Z开始的字符,“[^a-zA-Z]”翻译为“不是a-Z或a-Z”


这里有一个快速参考:

非常感谢您的回答。我现在能看清楚了。很高兴雨停了!顺便说一句,C#没有正则表达式。NET框架没有。无论是在a-z还是在a-z中,都没有答案。
Regex.IsMatch("t", "^[a-zA-Z]")  // Returns true (I think it's correct)

Regex.IsMatch("t", "[^a-zA-Z]")  // Returns false