我正在使用String.matches()来确定字符串是否采用以下模式:
“a + b”,其中a和b是一个数字(可以包含两者,如果是十进制数),
我写了一个正则表达式来确定一个数字是否在我想要的形式上,但我正在努力为整个事情编写正则表达式。
对于一个数字,这是我的代码:
kortform.matches("\\d+([\\,.]?\\d+)?")
对于“a + b”,我有以下代码,但“1 + 2”甚至不起作用。
kortform.matches("\\d+([\\,.]?\\d+)?\\+\\\\d+([\\,.]?\\d+)?")
答案 0 :(得分:1)
您可以使用此正则表达式:
kortform.matches("\\d+([,.]?\\d+)?[+]\\d+([,.]?\\d+)?")
,
+
(字符类),[+]
可以避免转义
答案 1 :(得分:0)
您可以尝试:
kortform.matches("\\d+([,.]\\d+)?\\+\\d+([,.]\\d+)?");
答案 2 :(得分:0)
试试这个正则表达式:
kortform.matches("\d+[\.\,]?(\d+)?\+\d+[\.\,]?(\d+)?")