正則表達式簡述
什么是正則表達式:
正則表達式,又稱正規表示法、常規表示法(英語: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
了解下標簽的作用,要認真寫