歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

正則表達式的用法

正則表達式的作用主要有三:

  • 驗證數字是否符合特定模式;
  • 利用正則表達式找到特定文本而後刪除或者替換文本;
  • 按模式匹配在字符串中查找查找匹配子字符串。

正則表達式就是有普通字符以及特殊字符(稱為元字符)組成的文字模式。元字符前面的字符稱為前導符,元字符按功能又分為限定符、定位符等類別,下面對常用的元字符進行列表說明。

常見元字符

說明

\s 匹配單個空格,包括tab鍵和換行符

\S 匹配出單個空格符之外的所有字符,\S與\s互為逆運算

\d 匹配從0~9的數字

\w 匹配字母,數字或者下劃線字符

\W 匹配所有與\w不匹配的字符,\W與\s互為逆運算

\cx 匹配由x指明的控制字符。
 
\f 匹配一個換頁符,等價與\x0c和\cL

\n 匹配一個換行符,等價於\x0a和\cJ

\r 匹配一個回車符,等價於\x0d和\cM

\t 匹配一個制表符,等價於\x09和\cI

\v 匹配一個垂直制表符。等價於\x0b和\cK

. 用於匹配除換行符之外的所有字符

常見限定符說明

* 匹配前導字符出現零次或者多次

+ 匹配前導字符出現一次或者多次

? 匹配前導字符出現零次或者一次

{n} 匹配前導字符出現n次,n>=0;

{n,} 匹配前導字符至少出現n次,n>=0;

{n,m} 匹配前導字符至少出現n次,最多出現m次;m>n>=0;

定位符說明

^ 匹配模式必須出現在目標字符串開頭

$ 匹配模式必須出現在目標的結尾

\b 匹配模式必須出現在目標字符串的開頭或者結尾的兩個邊界之一

\B 匹配對象必須位於目標字符串的開頭和結尾的兩個邊界之內,即匹配對象既不能作為目標字符串的開頭,也不能作為目標字符串的結尾

正則表達式匹配模式的范圍指定符

[] 限定的模式指定了其中一個字符的出現的可能。如/[A-Z]/表示匹配從A到Z任何一個字符;

() 限定的模式指定()裡包含的內容必須同時出現在對象中。如/(abc)[0-9]/意思是目標字符串中出現的abc1,abc2...abc9中9個中的任何一個,而不是ab1,a2等;

| 類似於邏輯運算中的“或”運算,如:/sb|a/表示與目標對象的"sb","a"中任何一個相匹配;

當^符出現在[]中時,表示取否定運算。
 
字符轉義與優先級順序

在匹配模式需要使用元字符時,需要使用轉移字符“\+元字符”表示,如查找“12*”模式,我們可以使用/12\*/表示;
 
正則表達式在匹配過程中是按照從左向右的順序進行的,其操作符具有一定的優先級順序
 
 
優先級順序

優先級  操作符                      說明

1      \                            轉義符

2    (),(?:),(?=),[]              圓括號和方括號

3    *,+,?,{n},{n,},{n,m}          限定符

4    ^,$,\anyMatchcharacter        位置順序

5      |                            或操作

Copyright © Linux教程網 All Rights Reserved