簡單讀懂正則表達式

 

正則表達式中的括號:

() 是爲了提取匹配的字符串。表達式中有幾個()就有幾個相應的匹配字符串。(\s*)表示連續空格的字符串。

[]是定義匹配的字符範圍。比如 [a-zA-Z0-9] 表示相應位置的字符要匹配英文字符和數字。[\s*]表示空格或者*號。

{}一般用來表示匹配的長度,比如 \s{3} 表示匹配三個空格,\s{1,3}表示匹配一到三個空格。

(0-9) 匹配 '0-9′ 本身。 [0-9]* 匹配數字(注意後面有 *,可以爲空)[0-9]+ 匹配數字(注意後面有 +,不可以爲空){1-9} 寫法錯誤。

[0-9]{0,9} 表示長度爲 0 到 9 的數字字符串。

正則表達式中的其他相關內容:

\s指的是空白字符集,包括[\r\n\t ]等;

\S指的是\s的取反;

\b匹配一個單詞邊界,即字與空格間的位置;

\B非單詞邊界匹配;

空格的正則表達式:[ ](單純的空格);

如果需要多個正則表達式的同時生效可以採用或的形式“()|()”;

/************************************************************************************************************/

需要轉義的特殊字符:$,( ),*,+,.,[,?,\,^,{,|。這些字符要想使用需要加'\'

abc+:+號用來表示前面的至少出現過一次(1/n);

abc*:*號代表可以不出現也可以出現一次或者多次(0/1/n);

abc?:?號代表前面的最多隻能出現一次(0/1);

abc$:$號表示匹配結尾是否爲abc;

abc{m}:{m}代表前面的只能出現n次(m);

abc{m,}:{m,}代表前面的出現m到無窮多次;

abc{n,m}:代表前面的出現n到m次;

( ): 標記一個子表達式的開始和結束位置;

. : 匹配除換行符 \n 之外的任何單字符;

{ : 標記限定符表達式的開始;

/*************************************************************************************************************************/

*、+限定符都是貪婪的,因爲它們會盡可能多的匹配文字,只有在它們的後面加上一個?就可以實現非貪婪或最小匹配。

例:<html></html>

<.*>會匹配整串字符即<html></html>,而<.*?>只會匹配第一個標籤即<html>;

有以上這些基礎,基本的正則表達式就可以看懂了。要想深入瞭解需要更加深入系統的學習;

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章