我有这个字符串正则表达式,只允许+, - 和。在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
向我们展示一些有效和无效匹配的示例 –