0 .net c# regex validation textbox
我有一个正则表达式来验证文本框只允许特定字符.我目前的表达方式是
pattern = "^([-_,A-Za-z0-9 !@#$%^&()=+;'.~`]{1,60})$";
Run Code Online (Sandbox Code Playgroud)
如果输入的字符不是,则报告错误.这非常有效.现在我想允许[,],{和}(方大括号)为有效字符.我尝试包含这些但是IsMatch如果我将它们包含在我拥有的模式中,该方法总是返回false.我按如下方式添加了它们,
pattern = "^([-_,A-Za-z0-9 !@#$%^&()[]{}=+;'.~`]{1,60})$";
Run Code Online (Sandbox Code Playgroud)
我测试了这个只是字母数字字符串值.IsMatch也就此返回false.我很确定我对包含的新东西做错了.
任何人都可以让我知道修改后的模式有什么问题吗?
您需要转义方括号内的方括号.
pattern = "^([-_,A-Za-z0-9 !@#$%^&()\[\]{}=+;'.~`]{1,60})$";
Run Code Online (Sandbox Code Playgroud)
顺便说一句:{}是大括号,或花括号,而不是尖括号.