正则表达式仅匹配项集

时间:2014-11-23 11:39:37

标签: java regex

允许的输入应该只包含这些词{ENTER,PLUS,MINUS}和非负数。

一个例子: ENTER34它应该是假的,如果我写一个数字或正确的单词,它应该被评估为真。

ENTER -> true
PLUS -> true
MINUS -> true
any nonnegative number -> true

TEST -> false
-45 -> false
BLABLA -> false

如何在java中将其实现为正则表达式?我试过以下但没有结果。 (我不是正则表达式的专家..)

myString.matches("{[0-9]}{ENTER|PLUS|MINUS}")

用户只能输入数字或正确的字词。

1 个答案:

答案 0 :(得分:0)

这个怎么样:

(\d+|ENTER|PLUS|MINUS)

即。其中之一:

  • \d+,即一个或多个数字。
  • 字面意思ENTER
  • 字面意思PLUS
  • 字面意思MINUS

你在尝试中犯了一些错误。其中之一就是你使用{}。另一个问题是使用()时缺少|。如果你想在正则表达式上做得更好,那么教程可能是一个好的开始,或者至少阅读文档。