正規表示式的特殊字元

2021-08-10 06:53:15 字數 2378 閱讀 6461

正規表示式的特殊字元

符號說明

^正規表示式的開始字元

$正規表示式的結束字元

\w匹配字母、數字、下劃線

\w匹配不是字元、數字、下劃線的字元

\s匹配空白字元

\s匹配不是空白的字元

\d匹配數字

\d匹配非數字的字元

\b匹配單詞的開始和結尾

\b匹配不是單詞開始和結尾的位置

.匹配任意字元,包括漢字

[m]匹配單個字串

[m1m2...n]

匹配多個字串

[m-n]

匹配m到n區間內的數字、字母

[^m]

匹配除m以外的字串

()對正規表示式進行分組,一對圓括號表示一組

注意:a>匹配符""可以指定乙個匹配範圍,例如"[ok]"將匹配包含"o"或"k"的字元。

b>^與[^m]中的"^"的含義並不相同,後者的"^"表示"除了..."的意思

正規表示式的常用限定符

符號說明

*匹配零次或多次

+匹配一次或多次

?匹配一次或零次

重複m次

重複m到n次,其中n可以省略,表示m到任意次

注意:"("和")"是正規表示式中的特殊字元,如果要把他們作為普通字元處理,需要在前面新增轉義字元"\".

限定符與"?"的組合符號

說明*?

匹配零次或多次,且最短匹配

+?匹配一次或多次,且最短匹配

??匹配一次或零次,且最短匹配

?重複m次,且最短匹配

(?#...)

正規表示式的注釋

(?p...)

給分組命名,name表示分組的名稱

(?p=name)

使用名為name的分組

re模組的常用函式

函式說明

findall(pattern,string,flag=0)

根據pattern在string中匹配字串,如果匹配成功,返回包含匹配結果的列表,否則返回空列表。當pattern中有分組時,返回包含多個元組的列表,每個元組對應乙個分組。flag表示規則選項,規則選項用於輔助匹配(如下表)

sub(pattern,repl,string,count=0)

根據指定的正規表示式替換源字串的子串。pattern是乙個正規表示式,repl是用於替換的字串,string是源字串。如果count=0,則返回string中匹配的所有結果,如果count大於0,則返回前count個匹配結果

subn(pattern,repl,string,count=0)

作用和sub()相同,返回1個2元的元組,第乙個元素是替換結果,第二個元素是替換的次數

match(pattern,string,flags=0)

根據pattern從string的頭部開始匹配字串,只返回第一次匹配成功的物件,否則返回"none"

search(pattern,string,flags=0)

根據pattern在string中匹配字串,只返回第一次匹配成功的物件。如果匹配失敗,返回"none"

compile(pattern,flags=0)

編譯正規表示式pattern,返回乙個pattern物件

split(pattern,string,maxsplit=0)

根據pattern分割string,maxsplit表示最大的分割數

escape(pattern)

匹配字串中的特殊字元,如"*"、"+"、"?"等

注意:函式match()必須充字串的第0個索引位置開始搜尋,如果第0個索引位置的字元不批撇,match()的匹配就會失敗。

re模組的規則選項選項

說明i或者ignorecase

忽略大俠些

l或者locale

字符集本地化,用於多語言環境

m或者multiline

多行匹配,使^$匹配除了string開始結束外,還匹配一行的開始和結束

s或者dotall

使"."匹配包括"\n"在內的所有字元

x或者verbose

忽略正規表示式中的空白、換行、以方便新增注釋

u或者unicode

"\w"、"\w"、"\b"、"\b"、"\d"、"\d"、"\s"、"\s"都將使用unicode

注意:正規表示式有3種間隔符號:"^","$"和"\b"。"^"匹配字串首部的字元;"$"匹配字串結束部分的字元;"\b"用於分割單詞。

注意:如果你想要指示某些不需要如轉義符那樣的特別處理的字串,那麼你需要指定乙個自然字串。

特殊字元的正規表示式

特殊字元檢查 param pinput 被檢查字串 return result 檢查後的結果 public static boolean isspecialchar string pinput string regex pattern p pattern.compile regex matcher ...

正規表示式之特殊字元

1 字元 對於單個字元,通常按字面意義表示,字元指出其後的字元為特殊字元,所以不做字面意 釋,而解釋為特殊字元。例如 b 相當於字元b,通過在b前面加乙個反斜槓,即為 b 則該字元變成特殊字元,表示匹配乙個單詞的分界線。對於幾個字元,通常說明是特殊的,符號指出其後的字元不是特殊的,而應按字面解釋 2...

正規表示式之特殊字元

今天在拆分字串的時候用 作拆分依據,導致了問題。原來 是特殊字元,需要進行轉義,在此將正規表示式中需要轉義的特殊字元進行梳理。正規表示式中的特殊字元,就是一些有特殊含義的字元,如 txt 中的 簡單的說就是表示任何字串的意思。如果要查詢檔案名中有 的檔案,則需要對 進行轉義,即在其前加乙個 正規表示...