//聯(lián)系人:石虎QQ: 1224614774昵稱:嗡嘛呢叭咪哄
正則表達(dá)式
在編寫處理字符串的程序時(shí)详囤,經(jīng)常會(huì)有查找符合某些復(fù)雜規(guī)則的字符串的需要瞬女。正則表達(dá)式就是用于描述這些規(guī)則的工具杏愤。換句話說扬卷,正則表達(dá)式就是記錄文本規(guī)則的代碼
正則表達(dá)式是對(duì)字符串操作的一種邏輯公式颤介,用事先定義好的一些特定字符期贫、及這些特定字符的組合跟匆,組成一個(gè)"規(guī)則字符串",這個(gè)"規(guī)則字符串"用來表達(dá)對(duì)字符串的一種過濾邏輯通砍。
-在很多文本編輯器里玛臂,可以使用正則表達(dá)式進(jìn)行檢索烤蜕,Xcode同樣支持正則表達(dá)式!
-幾乎所有的程序設(shè)計(jì)語言都支持正則表達(dá)式迹冤,例如:OC讽营,java,c#泡徙,python贴膘,js等沽甥。
0>匹配
--------------------------------------------------------------------------------
(pattern)匹配pattern并獲取這一匹配,所獲取的匹配可以從產(chǎn)生的Matches集合得到
1>常用元字符
--------------------------------------------------------------------------------
.匹配除換行符以外的任意字符
\w匹配字母或數(shù)字或下劃線或漢字
\s匹配任意的空白符(空格、TAB\t刊懈、回車\r \n)
\d匹配數(shù)字
^匹配字符串的開始
$匹配字符串的結(jié)束
\b匹配單詞的開始或結(jié)束
2>常用反義符
--------------------------------------------------------------------------------
\W匹配任意不是字母,數(shù)字恢氯,下劃線靖苇,漢字的字符
\S匹配任意不是空白符的字符
\D匹配任意非數(shù)字的字符
\B匹配不是單詞開頭或結(jié)束的位置
[^x]匹配除了x以外的任意字符
[^aeiou]匹配除了aeiou這幾個(gè)字母以外的任意字符
3>集合
--------------------------------------------------------------------------------
[xyz]字符集合
[^xyz]負(fù)值字符集合
[a-z]字符范圍
[^a-z]負(fù)值字符范圍
4>常用限定符
--------------------------------------------------------------------------------
*重復(fù)零次或更多次
+重復(fù)一次或更多次
?重復(fù)零次或一次
{n}重復(fù)n次
{n,}重復(fù)n次或更多次
{n,m}重復(fù)n到m次
5>貪婪和懶惰
--------------------------------------------------------------------------------
*?重復(fù)任意次,但盡可能少重復(fù)
*+重復(fù)1次或更多次模捂,但盡可能少重復(fù)
??重復(fù)0次或1次寂嘉,但盡可能少重復(fù)
{n,m}?重復(fù)n到m次,但盡可能少重復(fù)
{n,}?重復(fù)n次以上枫绅,但盡可能少重復(fù)
謝謝!!!