繁体   English   中英

在 RegEx 中检测角括号和大括号

[英]Detecting angle and curly brackets in RegEx

我有一个正则表达式来验证文本框只允许特定字符。 我目前的表达是

pattern = "^([-_,A-Za-z0-9 !@#$%^&()=+;'.~`]{1,60})$";

如果输入的字符不是输入,则报告错误。 这完美地工作。 现在我想允许[]{} (方括号和大括号)作为有效字符。 我尝试包含这些,但如果我将它们包含在我拥有的模式中, IsMatch方法总是返回 false。 我将它们添加如下,

pattern = "^([-_,A-Za-z0-9 !@#$%^&()[]{}=+;'.~`]{1,60})$";

我仅针对字母数字字符串值对此进行了测试。 IsMatch返回 false 。 我很确定我对包含的新东西做错了。

任何人都可以让我知道修改后的模式有什么问题吗?

您需要转义方括号内的方括号。

pattern = "^([-_,A-Za-z0-9 !@#$%^&()\[\]{}=+;'.~`]{1,60})$";

顺便说一句:{} 是大括号或花括号,而不是尖括号。

如果您希望您的正则表达式可移植,请将右方括号放在首位,连字符放在最后,如下所述: http://www.regular-expressions.info/posixbrackets.html

pattern = "^([][_,A-Za-z0-9 !@#$%^&(){}=+;'.~`-]{1,60})$";

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM