作业帮 > 综合 > 作业

Java匹配正则表达式的实现

来源:学生作业帮 编辑:拍题作业网作业帮 分类:综合作业 时间:2024/04/20 23:53:44
Java匹配正则表达式的实现
例:
(10.0-54)*45+(32+5.4)/(2+1)
匹配成:
( ,10.0,-,54,),*,45,+,(,32,+,5.4,),/,(,2,+,1,)
()+-*/均独立出来,数字和小数点在一起的直到遇到符号才独立出来.
String (10.0-54)*45+(32+5.4)/(2+1)
转为String[]
import java.util.ArrayList;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Test {
public static void main(String[] args) {
Pattern pp = Pattern.compile("\\(|\\)|/|\\*|\\+|\\-|\\d*\\.\\d*|\\d*");
Matcher mm = pp.matcher("(10.0-54)*45+(32+5.4)/(2+1)");
List values = new ArrayList();
while(mm.find()){
values.add(mm.group());
}
String[] value = new String[values.size()];
values.toArray(value);
for(String str : value){
System.out.println(str);
}
}
}
再问: 你好,请问如果我想去空格,和允许字母,判别式里应该加什么条件呢?
再答: 先把字符串去掉空格,这个应该会吧。 字母的正则是\\w*