正則表達(dá)式

pattern 匹配 treat 處理

正則表達(dá)式就是匹配字符串

在編寫處理字符串的程序時(shí),經(jīng)常會有查找符合某些復(fù)雜規(guī)則的字符串的需要。正則表達(dá)式就是用于描述這些規(guī)則的工具。換句話說,正則表達(dá)式就是記錄文本規(guī)則的代碼

正則表達(dá)式是對字符串操作的一種邏輯公式,用事先定義好的一些特定字符、及這些特定字符的組合,組成一個(gè)"規(guī)則字符串",這個(gè)"規(guī)則字符串"用來表達(dá)對字符串的一種過濾邏輯。

-在很多文本編輯器里,可以使用正則表達(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ù)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容