2012-06-20 82 views
-2

我有這個字符串正則表達式,只允許+, - 和。在Java中

String criteria="ESS.(BVA4+BVA5)+(-(DIESE.(BVM5+BVM6)))"; 

我希望把驗證就可以了。

  1. 它應該只包含+ - 或。或所有三個。
  2. 它不應該接受其他符號一樣!,%等。

如何寫好的正則表達式?

+0

@ Kazekage Gaara ..我成功檢查+ - 和。但我沒有得到如何限制其他特殊字符..以及如何結合這兩個條件.. :( – sumit

+1

它應該包含「ESS」?「BVA4」?「BVA5」?「DIESE」?「BVM5」? 「BVM6」?您的要求尚未充分說明 – EJP

+1

向我們展示一些有效和無效匹配的示例 –

回答

1

很多猜測的進入這樣的:

boolean foundMatch = subjectString.matches("[A-Z0-9().+-]*"); 

這將返回true如果字符串只包含ASCII大寫字母,ASCII數字,括號,加/減的跡象或點。它包含空字符串(如果您不需要,請將*更改爲+)。

當然,它不會檢查(例如)括號是否正確平衡(無論如何,您無法在Java正則表達式中執行此操作)。

+0

Tim Pietzcker謝謝..that hepled .. :) – sumit

0

試試這個String regEx="[+|\-|.|]" ;

+2

這裏有一些問題:1.您需要在Java字符串中加雙反斜槓。 2.你不需要在一個字符類中使用管道 - 現在,這個正則表達式也會匹配文字'|'。 3.這個正則表達式不能解決OP的(嚴格指定的)問題。 –

相關問題