正則表達式
阿新 • • 發佈:2017-05-09
正則表達式
正則表達式極大的簡化了我們的需求....
舉個例子:
不用正則:
public class TestZZ { public static void main(String[] args) { if(isNumber("12345")){// 判斷是否由數字構成 System.out.println("由數字構成!"); }else{ System.out.println("不是由數字構成!"); } } public static boolean isNumber(String str){ char[] data = str.toCharArray(); for (int i = 0; i < data.length; i++) { if(data[i]<‘0‘ || data[i] >‘9‘){ return false; } } return true; } }
使用正則:
public class TestZZ { public static void main(String[] args) { if("123".matches("\\d+")){//利用正則表達式 System.out.println("由數字組成!"); }else{ System.out.println("不是由數字組成!"); } } }
通過一個簡單的對比,可以看出正則表達式使用起來,極為簡便,大大簡化了我們的代碼難易程度。
下面讓我們看下核心的正則表達式標記
字符,表示某個字符,只能出現1位
x:表示是一個指定的一位字符,例如:編寫一個a,表示字符a;
\\:表示一位字符“\”
\n:換行
字符範圍,在指定的字符範圍之中選1位,只能出現1位
[abc] :表示可以是a,b,c中的任意一位
[^abc]:表示不是a,b,c中的任意一位
[a-zA-Z]:表示任意一個字符(大寫或小寫
[0-9]:表示任意一個數字
簡介表達式,表示1位
.:表示任意一個字符
\d:表示一位數字,等價於[0-9]
\D:表示一位非數字,等價[^0-9]
\s:表示一位空格,等價[\t\n\x0B\f\r]
\S:表示一位非空格,等價[……\t\n\x0B\f\r]
\w:表示一個字母,數字,_,等價[0-9a-zA-Z_]
\W: 表示一個非字母,數字,_等價[^0-9a-zA-Z_]
4.數量表示
? 表示正則出現0或1
+ 表示正則出現1或多次
* 表示正則出現0或1次或多次
{n} 表示正則正好出現n次
{n,}表示正則出現n次以上
{n,m}表示正則出現n-m次
本文出自 “11134439” 博客,請務必保留此出處http://11144439.blog.51cto.com/11134439/1923525
正則表達式