2012-06-20 52 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的(严格指定的)问题。 –

相关问题