C# 对c中的正则表达式只验证和传递有效字符#
我正在研究一个解决方案,在这个解决方案中,我只需要验证和传递c#中字符串的有效字符。 例如,我的正则表达式是:C# 对c中的正则表达式只验证和传递有效字符#,c#,regex,C#,Regex,我正在研究一个解决方案,在这个解决方案中,我只需要验证和传递c#中字符串的有效字符。 例如,我的正则表达式是:“^\\S(|(.|\\n)*\\S)\\Z” 下面是我想要验证的文本 127 Finchfield Lane 现在我知道它是无效的。但是,如何删除针对regex的invalid并仅在针对regex的字符串验证成功时通过?如果我理解正确,您正在寻找regex.IsMatch if(Regex.IsMatch(str, "^\\S(|(.|\\n)*\\S)\\Z")) { //
“^\\S(|(.|\\n)*\\S)\\Z”
下面是我想要验证的文本
127 Finchfield Lane
现在我知道它是无效的。但是,如何删除针对regex的invalid并仅在针对regex的字符串验证成功时通过?如果我理解正确,您正在寻找
regex.IsMatch
if(Regex.IsMatch(str, "^\\S(|(.|\\n)*\\S)\\Z"))
{
// do something with the valid string
}
else
{
// strip invalid characters from the string
}
这似乎符合你的要求。希望我没有误解。要根据regex验证字符串,可以使用regex.IsMatch
Regex.IsMatch(string, pattern) //returns true if string is valid
如果只想获得匹配值,则可以使用它
Match match = new Regex(@"\d+").Match(str);
match.value; //it returns only the matched string and unmatched string automatically stripped out
你认为“有效字符”是什么?@ MaHaaj34?或任何other@SjorsOttjes如果字符串通过正则表达式,这意味着它是有效的。@BalajiMarimuthu我想首先检查字符串字符是否对正则表达式有效。。如果没有,那么把那些无效的字符从StrugIT中剥离出来,从根本上看不清你认为是有效的或无效的字符。我也在寻找如何删除无效的字符,但是我是如何条纹的。那是我的question@Mahajan344如果你知道你想剥掉(或保留)哪些角色,那么回答这个主要问题就容易多了。。我只有正则表达式。。我必须对其进行验证。。。如果它通过了,那就意味着它是有效的。。如果不是,则表示其字符串无效。。所以我必须移除那些无效的…@Mahajan344,那样的话我就无能为力了。如果你不知道什么是有效输入,我认为没有办法解决这个问题。您现在使用的正则表达式匹配非常广泛的字符串,使用该正则表达式来验证某些东西似乎不是一个好主意,因为当我检查regex.IsMatch(“BAYR BALLAGAWNE”),它返回true。。但传递给上述方法的相同字符串返回的值为blank@Mahajan344在图案前面使用@符号。Regex.IsMatch(“BAYR BALLAGAWNE”,“@”^\S(|(.|.\n)*\S)\Z”)@Mahajan344该字符串的什么原因使您认为它应该返回false?@BalajiMarimuthu如果这样做,则需要删除双反斜杠。当然,除非OP希望在模式中包含这些反斜杠文字。@Mahajan344您的模式返回值,因此返回true。
Match match = new Regex(@"\d+").Match(str);
match.value; //it returns only the matched string and unmatched string automatically stripped out