正則表達式是用來判斷字符串是否知足指定格式的表達式,是一門獨立於編程語言的學科。java
正則表達式有一些具備特殊含義的字符構成,這些字符被叫作正則表達式的元字符:
正則表達式
元字符 | 含義 |
. | 任意一個字符 |
\d | 任意一個數字 |
\D | 任意一個非數字字符 |
\s | 任意一個空白字符 |
\S | 任意一個非空白字符 |
\w | 任意一個可用做標識符的字符,$除外 |
\W | 任意一個不可用做標識符的字符 |
限定字符出現的次數,用在字符後面:編程
符號 | 含義 |
? | 0次或者1次 |
+ | 1次或者屢次 |
* | 0或屢次 |
{n} | n次 |
{n,} | 至少n次 |
{n,m} | n-m次 |
必須以指定的字符開始或者結尾:編程語言
字符 | 含義 |
^a | 以a開頭 |
a$ | 以a結尾 |
在正則表達式中,若是結尾限定了某種類型數據的出現次數,必須在結尾加上「$」,否則當在規定次數的字符後面出現其餘字符時,也有可能驗證經過,即限定結尾次數時必須加「$」。spa
限定出現列表中任意一個元素,或者所有不出現:包含性限定修飾符與排他性限定修飾符。code
字符 | 含義 |
[abc] | 表明a/b/c中任一個字符 |
[^abc] | 表明a/b/c中之外任一個字符 |
在正則表達式中可使用|字符鏈接兩種表達式形式,知足其中一種即知足。對象
在通常java代碼中判斷字符是否符合給定的格式;blog
s.matches(res);
Pattern.matches(res,s);
在Scanner簡單文本掃描器中,用來截取字符:ip
Scanner scanner=new Scanner(source).userDelimiter(String regex);//建立使用指定分隔符的簡單文本掃描器 String s=scanner.next();//讀取下一個字符(被分隔符包裹的部分就是字符)
在JavaScript中建立RegExp對象:字符串
var regex=/正則表達式(使用元字符)/;
var regex=new RegExp("正則表達式");
var matching=regex.test(str);