2 回答

TA貢獻1821條經驗 獲得超6個贊
我能想到的最簡單的 * 正則表達式是:
\\$?(\\{[a-zA-Z]+}|\\{\\{[a-zA-Z]+}})
* 在“最容易理解”的意義上,而不是在“最緊湊”的意義上。
\\$?匹配一個可選的$. 之后,遵循以下\\(之一:
\\{[a-zA-Z]+},即使用一對 的正則表達式{},
|或者,
\\{\\{[a-zA-Z]+}}使用雙精度的正則表達式{{}}。
測試:
System.out.println("{n}".matches("\\$?(\\{[a-zA-Z]+}|\\{\\{[a-zA-Z]+}})"));
System.out.println("{{coinsAdded}}".matches("\\$?(\\{[a-zA-Z]+}|\\{\\{[a-zA-Z]+}})"));
System.out.println("${coinsAdded}".matches("\\$?(\\{[a-zA-Z]+}|\\{\\{[a-zA-Z]+}})"));
System.out.println("{{{coinsAdded}}}".matches("\\$?(\\{[a-zA-Z]+}|\\{\\{[a-zA-Z]+}})"));
System.out.println("$${coinsAdded}".matches("\\$?(\\{[a-zA-Z]+}|\\{\\{[a-zA-Z]+}})"));
輸出:
真
真真假假
_
_
_
添加回答
舉報