我有這個字符串正則表達式,只允許+, - 和。在Java中
String criteria="ESS.(BVA4+BVA5)+(-(DIESE.(BVM5+BVM6)))";
我希望把驗證就可以了。
- 它應該只包含+ - 或。或所有三個。
- 它不應該接受其他符號一樣!,%等。
如何寫好的正則表達式?
我有這個字符串正則表達式,只允許+, - 和。在Java中
String criteria="ESS.(BVA4+BVA5)+(-(DIESE.(BVM5+BVM6)))";
我希望把驗證就可以了。
如何寫好的正則表達式?
很多猜測的進入這樣的:
boolean foundMatch = subjectString.matches("[A-Z0-9().+-]*");
這將返回true
如果字符串只包含ASCII大寫字母,ASCII數字,括號,加/減的跡象或點。它包含空字符串(如果您不需要,請將*
更改爲+
)。
當然,它不會檢查(例如)括號是否正確平衡(無論如何,您無法在Java正則表達式中執行此操作)。
Tim Pietzcker謝謝..that hepled .. :) – sumit
試試這個String regEx="[+|\-|.|]" ;
這裏有一些問題:1.您需要在Java字符串中加雙反斜槓。 2.你不需要在一個字符類中使用管道 - 現在,這個正則表達式也會匹配文字'|'。 3.這個正則表達式不能解決OP的(嚴格指定的)問題。 –
@ Kazekage Gaara ..我成功檢查+ - 和。但我沒有得到如何限制其他特殊字符..以及如何結合這兩個條件.. :( – sumit
它應該包含「ESS」?「BVA4」?「BVA5」?「DIESE」?「BVM5」? 「BVM6」?您的要求尚未充分說明 – EJP
向我們展示一些有效和無效匹配的示例 –