正則詳細介紹及教程
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 re2 = "(\\(-[1-9]\\d*\\)|-[1-9]\\d*|[1-9]\\d*)([+-/\\*](\\(-[1-9]\\d*\\)|[1-9]\\d*|\\(-0\\)|0))*";//方法一
//String re = "((\\(-\\d+\\))|(\\d+)|(-\\d+))(([\\+\\-\\*/]\\(-\\d+\\))|([\\+\\-\\*/]\\d+))+";
//驗證四則運算表達式的正則表達式
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+)則表示的出現前面一個()裏面的內容或者是出後面一個()裏面的內容
以上是我對本次正則表達式用法的簡單介紹,正則表達式的功能遠遠不止這些,其他的我目前不說明了。。