如何在正则表达式模式中包含某些字符?

时间:2019-04-20 03:17:37

标签: java regex

我需要一点帮助。这是我第一次使用正则表达式。

因此,我想确保用户只能输入数字和另外两个字符-句点.和逗号,

每当用户输入带有这样的字母的数字100A1时,它就会输出“ Wrong Output”,这是很好的,这正是我想要的。但是,如果用户输入12.1010,00010,000.50,则程序还将输出“错误输出”。

我没有正确使用Pattern.matches()语法。如果您能帮助我,我将不胜感激。谢谢。

if (!Pattern.matches("[0-9]+", stringUserInput)) {
    System.out.println("Wrong input");
}

1 个答案:

答案 0 :(得分:0)

此正则表达式应该起作用:

\b[0-9,.]+\b


位置:

\b-单词边界

[...]+-匹配方括号中的任何字符1次或更多次

0-9-数字0到9

,-逗号

.-期间


当我开始学习正则表达式时,我使用https://regexr.com/进行实验。它有一个有用的功能,可以解释您的正则表达式表达式在做什么。

希望这会有所帮助!

编辑:如果您使用Java编写,则可能需要转义反斜杠字符。因此,最终结果应为:\\b[0-9,.]+\\b