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)