正則表達式簡述

正則表達式簡述

什么是正則表達式:

正則表達式,又稱正規表示法、常規表示法(英語:Regular Expression,在代碼中常簡寫為regex、regexp或RE),計算機科學的一個概念。正則表達式使用單個字符串來描述、匹配一系列符合某個句法規則的字符串。在很多文本編輯器里,正則表達式通常被用來檢索、替換那些符合某個模式的文本。

正則表達式分類:

  • 標準正則表達式

  • 擴展正則表達式

標準正則表達式:

  • 元字符

. :表示匹配任意單個字符

[ ] :表示匹配指定范圍內的任意單個字符

[^] :表示匹配指定范圍外的任意單個字符

字符合集:

[:space:] 匹配空格

[:digiat:] 匹配數字

[:lower:] 匹配小寫字母

[:upper:] 匹配大寫字母

[:alpha:] 匹配大小寫字母

[:punct:] 匹配所有標點符號

[:alnum:] 匹配大小寫字母和數字

  • 次數匹配

*:匹配其前面的字符任意次數

.*:匹配任意長度的任意字符

\?:匹配其前面的字符1次或0次

\{m,n\} :匹配其前面的字符至少m次至多n次

  • 位置錨定

^ :錨定行首,此字符后面的任意內容出現在行首

$ :錨定行尾,此字符前面的任意內容出現在行尾

\<或\b:錨定詞首,此字符后面的任意字符必須作為單詞的首部出現

\>或\b:錨定詞尾,此字符前面的任意字符必須作為單詞的尾部出現

  • 分組

\(\):對括號內內容進行分組,視為一個整體進行讀取,并便于后向引用。

\1:引用第一個分組匹配內容

\2:引用第二個分組匹配內容

\n:引用第N個分組匹配內容


擴展正則表達式:

  • 元字符

. :表示匹配任意單個字符

[ ] :表示匹配指定范圍內的任意單個字符

[^] :表示匹配指定范圍外的任意單個字符

字符合集:

[:space:] 匹配空格

[:digiat:] 匹配數字

[:lower:] 匹配小寫字母

[:upper:] 匹配大寫字母

[:alpha:] 匹配大小寫字母

[:punct:] 匹配所有標點符號

[:alnum:] 匹配大小寫字母和數字

  • 次數匹配

*:匹配其前面的字符任意次數

.*:匹配任意長度的任意字符

?:匹配其前面的字符1次或0次

+:匹配其前面的字符至少1次

{m,n} :匹配其前面的字符至少m次至多n次

  • 位置錨定

^ :錨定行首,此字符后面的任意內容出現在行首

$ :錨定行尾,此字符前面的任意內容出現在行尾

\<或\b:錨定詞首,此字符后面的任意字符必須作為單詞的首部出現

\>或\b:錨定詞尾,此字符前面的任意字符必須作為單詞的尾部出現

  • 分組

():對括號內內容進行分組,視為一個整體進行讀取,并便于后向引用。

\1:引用第一個分組匹配內容

\2:引用第二個分組匹配內容

\n:引用第N個分組匹配內容

例:

匹配IP地址包網絡地址和廣播地址表達式

(\<([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\>\.){3}\<([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\>

表達式解釋:

(\<([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\>\.) 該部分內容匹配0-255的數字和.

{3} 該部分內容表示匹配前面分組內容三次

\<([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\> 表示匹配IP地址最后一位 0-255的數字

原創文章,作者:Net18-Tomcat,如若轉載,請注明出處:http://www.www58058.com/14077

(0)
Net18-TomcatNet18-Tomcat
上一篇 2016-04-05 23:02
下一篇 2016-04-05 23:03

相關推薦

  • N22-第十四周作業

    系統的INPUT和OUTPUT默認策略為DROP; ~]# iptables -P INPUT DROP ~]# iptables -P OUTPUT DROP 1、限制本地主機的web服務器在周一不允許訪問;新請求的速率不能超過100個每秒;web服務器包含了admin字符串的…

    Linux干貨 2017-03-15
  • Linux系統程序包管理—rpm

     概述:      本章內容:軟件的運行環境,軟件包基礎,rpm包管理,yum管理,定制yum倉庫,編譯安裝 一、軟件運行環境     1.□API:Application Programming Interface (應用程序開發接口)         &n…

    Linux干貨 2016-09-01
  • 基于NFS服務的wordpress站點

    實驗要求:             (1) nfs server導出/data/web,在目錄中提供wordpress;     (2) nfs client掛載nfs server導出的文件系統至/data/web; …

    2017-06-11
  • 磁盤管理(二)之swap、dd工具使用

    磁盤管理(二)之swap、dd工具使用   一、掛載點和/etc/fstab   (1)配置文件/etc/fstab,當系統啟動時,自動加載該文件,會把寫在配置文件里面的所有掛載點全部自動掛載上去,只要按照格式寫,就不會丟失。   (2)文件掛載配置文件,如下圖:    &nbs…

    Linux干貨 2016-08-29
  • SELinux介紹

    SELinux介紹 SELinux: Secure Enhanced Linux, 是美國國家安全局(NSA=The National Security Agency)和SCC(Secure Computing Corporation)開發的 Linux的一個強制訪問控制的安全模塊。 2000年以GNU GPL發布, Linux內核2.6版本后集成在內核中D…

    Linux干貨 2016-10-08
  • 我與Linux的第一次親密接觸

        作為一個新手,經過一周的學習,我對Linux目前有了些許的了解,從Linux的發展史中,開源共享精神深深的感染了我,也使得我對Linux的興趣更加濃厚。對于一個一直翹計算機課的我來說,入門和基礎是一項非常艱巨的任務,初期為了搭建學習的環境,也是費了不小的功夫,相信許多萌也對此有很大的感觸,在這里,我來和大家分享一下如何去構建環境?!?/p>

    Linux干貨 2017-03-26

評論列表(1條)

  • stanley
    stanley 2016-04-05 23:04

    了解下標簽的作用,要認真寫

欧美性久久久久