.NET正则表达式-块';%';
我试图阻止用户在.NET程序的HTML表单中输入“%”或多个“%”。已尝试模式.NET正则表达式-块';%';,.net,regex,.net,Regex,我试图阻止用户在.NET程序的HTML表单中输入“%”或多个“%”。已尝试模式(?!.%*),但它不起作用。正则表达式应该允许字符串中使用“%”,但在仅使用“%”时会引发错误。我不是正则表达式专家,但这似乎对我有用: bool IsInputValid(string input) { return !Regex.IsMatch(input,"^[%]+$"); } 举个例子: Debug.WriteLine(IsInputValid("%")); // False Debug.Writ
(?!.%*)
,但它不起作用。正则表达式应该允许字符串中使用“%”,但在仅使用“%”时会引发错误。我不是正则表达式专家,但这似乎对我有用:
bool IsInputValid(string input)
{
return !Regex.IsMatch(input,"^[%]+$");
}
举个例子:
Debug.WriteLine(IsInputValid("%")); // False
Debug.WriteLine(IsInputValid("%%")); // False
Debug.WriteLine(IsInputValid("fsd%lkf")); // True
Debug.WriteLine(IsInputValid("%fslk")); // True
谢谢大家的意见。我尝试了你答案中的几种组合,最后得出了([^%])(.*)$ 它非常接近(仍然%%xxx被标记为无效)。
但这对我现在起作用了。%-无效,%-无效,fsd%lkf-有效,%fslk有效