1. 程式人生 > >正則表示式的一些知識,留作後用

正則表示式的一些知識,留作後用

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

  • (星號) 表示前一個字元出現0次到任意次
    .* 表示匹配任意長度的字串,可以是空字串

? 表示前一個字元(或者說子表示式)出現0次到1次
如有這麼幾個檔案a.xls a.xlsx a.xlsm a.xlsmx
a.xls.? 匹配a.xls a.xlsx a.xlsm 表示 待匹配的字元,後面多一個字元 而最後一個多了兩個,不符合原則

. 轉義字元為了表示.

[] 用來列舉所有可能出現的字元集合,只要是[]裡面出現的就都能匹配
如[+-*/]用來匹配加減乘除中的任意一個,不能匹配%

{m, n} m和n都是數字,表示匹配字元或者表示式出現的下線和上限
{m, }比m多的任意字元
{, n}比n少的任意字元
{m} 精確到m個字元
比如: .{3,5}用來匹配3到5個任意字串

() 用來劃範圍的 比如:(abc)? 匹配abc要麼abc一起出現一次,要麼都不出現
abc? 匹配ab或者abc

[0-9]用來匹配單個數字字元 比如匹配不為0的單個數字[1-9]
[1-46-9]匹配不為1-9且不為5的單個數字
要匹配多個數字,可以這樣寫: [1-9][0-9]* 表示匹配所有大於0的整數

[a-z] 用來匹配單個小寫字母
[A-Z] 用來匹配單個大寫字母

^寫在正則表示式最前面時,表示字串開始或行開始;寫在[]裡面的最前面,表示取反的意思
比如:^[^0-9]表示字串以非數字字元開始
如果^寫在正則表示式的其他位置或者[]中的其他位置,則成為一個普通的^字元

$和^意義相反:$寫在正則表示式的最後面時,表示字串或行的結束。寫在其他位置(包括寫在[]中),都是普通字元
比如:^$[^"]*^$此正則表示式表示:
匹配以$開頭,以^結尾 ,且不包括"的任意字串(可以為空)

參考網址https://www.cnblogs.com/youngchance/p/5162879.html