仅匹配项目集合的正则表达式
问题描述:
允许的输入应该只包含这些词{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}")
用户只允许任一输入数字或正确的单词。
答
如何:
(\d+|ENTER|PLUS|MINUS)
即以下之一:
-
\d+
,即一个或多个数字。 - 字面上
ENTER
。 - 字面上。
- 字面上
MINUS
。
您在尝试中犯了一些错误。其中之一是您使用{}
。另一种是当使用|
时缺少()
。如果你想在正则表达式中变得更好,那么教程可能是一个好的开始,或者至少阅读文档。
+0
非常感谢。是的,我会阅读文档以便更好地理解,因为这是紧急需要的。 – 2014-11-23 12:00:16
+0
如果你问我;阅读文档越需要越紧迫。玩得开心学习正则表达式,一旦你掌握了它,这是一个伟大的工具。 – Biffen 2014-11-23 12:01:37
看起来你应该从一个正则表达式手册或教程开始。你的尝试是*方式*关闭。这个数字应该在这个词之前还是之后出现? – Biffen 2014-11-23 11:43:26
用户只能输入一个数字或正确的单词。 – 2014-11-23 11:48:35
你可能想澄清在这个问题。 – Biffen 2014-11-23 11:52:35