小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

學習VBA,報表做到飛 第四章 正則表達式 4.2 正則表達式元字符和量詞

 拾叁億人 2023-04-05 發(fā)布于云南

第四章 正則表達式

4.2 正則表達式的元字符和量詞

正則表達式的代碼編寫非常簡單,而且近乎格式化模式,千篇一律。其功能強大的原因主要在于通過它的元字符和量詞的組合,從一堆雜亂無章的字符中找出符合規(guī)則的字符串來。元字符和量詞就是正則表達式用來描述要找的字符串的特征的。

4.2.1 元字符

\d 匹配一個數字

\D 匹配一個非數字字符(包括字母、漢字、空格、下劃線、各類符號)

\w 匹配單個字母、漢字、數字和_。

\W 匹配任何非單詞字符(包括空格、各類符號,不包括下劃線)

\s 匹配任何空白字符(包括空格、制表符、換行符等,也就是眼睛看不到的字符)

\S 匹配任何非空白字符(也就是眼睛能看到的字符)

\n 匹配一個換行符

\r 匹配一個回車符

\t 匹配一個制表符(Tab鍵)

\b 匹配一個單詞邊界,也就是指單詞和空格間的位置(不支持漢字)

\B 匹配非單詞邊界(跟\b相反)

. 匹配除“\n”之外的任何單個字符

*** 在VBA里,.是一個元字符,\.表示其本身,也就是說,要想表示.,就必須在它前面加上\,否則系統(tǒng)會把它當作一個元字符來對待。

[一-龢]或[\u4e00-\u9fa5] 匹配漢字

4.2.2 元字符量詞

*:匹配零次或多次

+:匹配一次或多次

?:匹配零次或一次

上下限:{下限,上限}

{n} 匹配n次

{n,} 匹配至少n次,無上限

{n,y} 匹配n次到y(tǒng)次,y>n

4.2.3 連接符

|表示or,如“工程|結算”,表示匹配“工程”或者“結算”均可。如果有多個或者條件,在語句執(zhí)行時,會按照順序先匹配前面的條件,再匹配后面的條件。

[]表示匹配中括號中的任意一個字符。

如:[abc],表示匹配字母abc中的任意一個均可

[a-zA-Z],表示匹配任意一個大小寫字母均可

[0-6],表示匹配0到6的任意一個數字

4.2.4 用正則表達式測試工具查看匹配結果

我們通過元字符和量詞的組合來描述要找的字符串的特征,然后用這個組合去文本中查找,查找到的內容就是匹配結果。下面我們通過一些例子來說明元字符和量詞的應用,通過正則表達式測試工具來匹配。

4.2.4.1

在“買牛肉3斤,115元”里匹配數字:

表達式:\d+,匹配一個或多個數字

匹配結果:

文章圖片1

匹配到兩個結果:3、115

如果想匹配帶小數點的數字,如“買牛肉3斤,115.56元”,表達式可以修改為:\d+\.?\d*,小數點匹配0次或1次,小數點后面的數字匹配0次或多次。

4.2.4.2

在55,76,1000,357,2500,12380中匹配4位數字:\d{4},有三個匹配結果:1000,2500,1238

文章圖片2

匹配所有大于等于1000的數字:\d{4,},有三個匹配結果:1000,2500,12380

文章圖片3

關于\d{4}表達式想匹配4位數,卻匹配到12380里的1238,造成匹配結果不準確的情況,我們會在以后的章節(jié)里解決。

4.2.4.3

在下面一段話里匹配“工程”或者“結算”:

施工過程結算是指工程項目實施過程中,發(fā)承包雙方依據施工合同,對約定結算周期內已完工程價款進行結算的活動,其結算文件經發(fā)承包雙方簽署認可后,作為工程竣工結算文件的組成部分。

表達式:工程|結算

匹配結果:

文章圖片4

匹配到8個結果。

4.2.5 常用的正則表達式

1、數字:[0-9]*

2、n位的數字:\d{n}

3、至少n位的數字:\d{n,}

4、x-y位的數字:\d{x,y}

5、帶1-2位小數的數字:\d+(\.\d{1,2})?

8、非負整數:^\d+$

9、漢字:[一-龢]+

10、英文和數字:[A-Za-z0-9]+

11、由英文字母組成的字符串:[A-Za-z]+

12、由大寫英文字母組成的字符串:[A-Z]+

13、由小寫英文字母組成的字符串:[a-z]+

14、由漢字、數字、字母或者下劃線組成的字符串:\w+

15、漢字、數字、字母組成的字符串:[一-龢A-Za-z0-9]+

16、身份證號(15位、18位數字):\d{15}|\d{18}

17、密碼(以字母開頭,長度在6~8之間,只能包含字母、數字和下劃線):^[a-zA-Z][a-zA-Z0-9_]{5,7}$

18、日期格式:\d{4}-\d{1,2}-\d{1,2}

    本站是提供個人知識管理的網絡存儲空間,所有內容均由用戶發(fā)布,不代表本站觀點。請注意甄別內容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現有害或侵權內容,請點擊一鍵舉報。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多