簡體   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