Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/286.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# 检查字符串是否仅包含字符>;或<;或-_C#_Regex - Fatal编程技术网

C# 检查字符串是否仅包含字符>;或<;或-

C# 检查字符串是否仅包含字符>;或<;或-,c#,regex,C#,Regex,我需要检查字符串是否只包含字符组中的字符或转义-。([0-9]表示“零到九”而不是“零、破折号或九”)^[-]+$“-”在C#regex中必须排在第一位如何在regex中逃脱?新的regex(@)^[>@DiabloSteve我做了一个答案,而不是注释:/generally\-,但取决于需要转义\的语言以及字符串对象:\-@dognose在C中字符串之前的@表示转义是自动的。如果需要,它们被称为无需转义连字符。Linq可选:bool result=testValue.All(c=>c=''|c=

我需要检查字符串是否只包含字符组中的字符
转义
-
。(
[0-9]
表示“零到九”而不是“零、破折号或九”)

^[-]+$
“-”在C#regex中必须排在第一位

如何在regex中逃脱?新的regex(@)^[>@DiabloSteve我做了一个答案,而不是注释:/generally
\-
,但取决于需要转义
\
的语言以及字符串对象:
\-
@dognose在C中字符串之前的@表示转义是自动的。如果需要,它们被称为无需转义连字符。Linq可选:
bool result=testValue.All(c=>c=''|c='-')
谢谢,答案很简单,只是在大多数答案中从来没有简单解释过,所以
-
符号有一个特殊的含义,当我们想随意对待它时,应该转义,例如
[0-9]
是一系列字符
0,1,2,…,9
,而
[0-9]
表示确切的
0
-
9
字符。
static readonly Regex Validator = new Regex(@"^[><- ]+$");
Validator.IsMatch(testValue)