仅匹配项目集合的正则表达式

问题描述:

允许的输入应该只包含这些词{ENTER,PLUS,MINUS}和非负数。仅匹配项目集合的正则表达式

举例: ENTER34它应该是错误的,如果我写了一个数字或正确的单词,它应该被评估为true。

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

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

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

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

用户只允许任一输入数字或正确的单词。

+0

看起来你应该从一个正则表达式手册或教程开始。你的尝试是*方式*关闭。这个数字应该在这个词之前还是之后出现? – Biffen 2014-11-23 11:43:26

+0

用户只能输入一个数字或正确的单词。 – 2014-11-23 11:48:35

+0

你可能想澄清在这个问题。 – Biffen 2014-11-23 11:52:35

如何:

(\d+|ENTER|PLUS|MINUS) 

即以下之一:

  • \d+,即一个或多个数字。
  • 字面上ENTER
  • 字面上​​。
  • 字面上MINUS

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

+0

非常感谢。是的,我会阅读文档以便更好地理解,因为这是紧急需要的。 – 2014-11-23 12:00:16

+0

如果你问我;阅读文档越需要越紧迫。玩得开心学习正则表达式,一旦你掌握了它,这是一个伟大的工具。 – Biffen 2014-11-23 12:01:37