我正在开发一个程序,它是一个简单语言的解释器,可以使用Sets并执行Set操作。它目前仅适用于包含数字的集合。
当用户定义Set时,输入如下所示:set1 = {1, 25, 5, 6};
像set1 = { 1 , 25 , 5, 6};
这样的输入也可以,但
set1 = { 1 25 , 5,6};
这样的东西不应该。
所以基本上无论空格数是多少,如果数字之间有","
,那就没问题了。
我想要的是检查","
String
的数字
目前我这样做:
Pattern pattern = Pattern.compile("[0-9][\" \"]+[0-9]");
Matcher matcher = pattern.matcher(input);
if(matcher.find()) return false;
它工作得很好。但这是一项大学任务,我不确定我是否可以使用Pattern
和Matcher
。
所以我的问题是,有没有其他方法可以检查String
是否包含正则表达式?或者还有其他更简单的方法来实现这个目标吗?
答案 0 :(得分:1)
由于这是一项任务,我不会写出代码,但另一种解决方案是:
,
令牌上的字符串(使用String.split()
)" "
上进行拆分;使用while
循环或者别的什么。我会让你弄明白的。答案 1 :(得分:0)
您的解决方案足够好,您可以通过积极的方式尝试
Pattern pattern = Pattern.compile("^[1-9](,[1-9])*$");
Matcher matcher = pattern.matcher(input);
if(matcher.matches()) return true;