1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| import java.util.Scanner; import java.util.regex.Matcher; import java.util.regex.Pattern;
public class Firstwork { public static void main(String[] agrs){ Scanner input = new Scanner(System.in); System.out.println("plese input a expression:"); for (int i = 0; i < 5; i++) { String expression = input.next(); System.out.println(expression); ** String re = "(−\\d+)|(\\d+)|(-\\d+))((\\d+)|([\\+\\-\\*\\/]\\d+))+"; if (expression.matches(re)) { System.out.println("ok"); } else { System.out.println("nononono"); } } } }
|
//String re = “((\(-\d+\))|(\d+)|(-\d+))(([\+\-\/]\(-\d+\))|([\+\-\*/]\d+))+”;
下面我来说明一下正则表达式的用法(以上面那个为例子):
1.\d 表示的是0-9的数字
2.\d+表示0-9的数字至少出现一次
3.\d表示0-9的数字出现0次以上
4.[]里面的东西至少出现一个,两个\是转义
5.|这个表示或者的意思,例如(\(-\d+\))|(\d+)则表示的出现前面一个()里面的内容或者是出后面一个()里面的内容
以上是我对本次正则表达式用法的简单介绍,正则表达式的功能远远不止这些,其他的我目前不说明了。。