正則表達式中的括號:
() 是爲了提取匹配的字符串。表達式中有幾個()就有幾個相應的匹配字符串。(\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>;
有以上這些基礎,基本的正則表達式就可以看懂了。要想深入瞭解需要更加深入系統的學習;