[英]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.