GG資源網

C++正則表達式獲取字元串中的漢字

問題描述:

C++正則表達式如何取到該字元串中的漢字部分(黑龍江)?

我取到的黑龍江還有後面的空格,不知道該怎麼寫

C++正則表達式獲取字元串中的漢字

網友觀點:

[\\u4e00-\\u9fa5]這就就代表中文

正則表達式經驗總結匯總2021-11-24

Perl語言的正則表達式功能非常強大,基本上是常用語言中最強大的,很多語言設計正則式支持的時候都參考Perl的正則表達式。

----------------------------------------------------------------------------------------

一、工作中正則表達式總結:

1.查找空行:^[ \\t]*$\\r\\n

2.查找最後一位是小寫字母的8位十六進位數:0x[0-9a-z]{7,7}[a-z]{1,1}

3.查找至少有一位是小寫字母的8位十六進位數:0x(?=[0-9]{0,7}[a-z]{1,8})[a-z0-9]{8,8}

4.截取當前行第一個括弧前面的全部字元:(?=^[^(|^(|^\\r|^\\n]*[(|(])^[^(|^(]*, ^[^(|^(|^\\r|^\\n]*(?=[(]),

5.截取字元串中標識符(DK)後面的全部字元:(?<=DK).*$

6.截取字元串中標識符(DK)前面的全部字元:^.*DK

6.1.截取字元串中標識符(DK)前面的全部字元,不包含標識符(DK):^.*(?=NT)

7.匹配當前字元串中全部字元是否為數字(正實數、負實數):^(\\-|\\+)?\\d+(\\.\\d+)?$

8.提取字元串中所有的ip地址:((2(5[0-5]|[0-4]\\d))|[0-1]?\\d{1,2})(\\.((2(5[0-5]|[0-4]\\d))|[0-1]?\\d{1,2})){3}

9.判斷字元串是否是IP地址:^((2(5[0-5]|[0-4]\\d))|[0-1]?\\d{1,2})(\\.((2(5[0-5]|[0-4]\\d))|[0-1]?\\d{1,2})){3}$

10.截取十六進位數的0x或者0X後面的8位數字:(?<=0[x|X])[A-Za-z0-9]{0,8}

11.查找至少有一位是小寫字母的8位十六進位數:0x(?=[0-9]{0,7}[a-z]{1,8})[a-z0-9]{8,8}

12.查找至少有一位是小寫字母的4位十六進位數:0x(?=[0-9]{0,3}[a-z]{1,4})[a-z0-9]{4,4}

13.查找至少有一位是小寫字母的2位十六進位數:0x(?=[0-9]{0,1}[a-z]{1,2})[a-z0-9]{2,2}

14.查找至少有一位是小寫字母的1-8位十六進位數:0x(?=[0-9]{0,7}[a-z]{1,8})[a-z0-9]{1,8}

把tdb_data.c中的數據,先把【至少有一位是小寫字母的8位十六進位數】轉為大寫。

再把【至少有一位是小寫字母的4位十六進位數】轉為大寫。

最後把【至少有一位是小寫字母的2位十六進位數】轉為大寫。

如果邏輯反過來,會發生什麼問題?

如果邏輯反過來,結果是正確的,但是效率會大大降低。

把【至少有一位是小寫字母的2位十六進位數】轉為大寫。轉換數據包含2/4/8位。

把【至少有一位是小寫字母的4位十六進位數】轉為大寫。轉為數據包含4/8位。

最後把【至少有一位是小寫字母的8位十六進位數】轉為大寫。轉為數據包含8位。

重複數據量為所有 8位和兩倍所有4位的十六進位數。效率大大降低。

15.刪除行尾空格: 替換 [ ^t]+$ 為空串

16.刪除行首空格: 替換 %[ ^t]+ 為 空串

17.十六進位數據中,至少有一位是小寫字母的規則:0x(?=[0-9A-F]{0,7}[a-f]{1,8})[a-f0-9A-F]{1,8}

18.判斷一個字元串是否是1-8位十六進位數字:^0[x|X][A-Fa-f0-9]{1,8}$

19.判斷一個字元串是否是數字:^(\\-|\\+)?\\d+(\\.\\d+)?$

20.不包含第一個「(」到行尾的全部字元:(?<=[(]).*$

21.包含第一個「(」到行尾的全部字元:(?=[(]).*$

22.截取當前行第一個括弧前面的全部字元:^[^(|^(|^\\r|^\\n]*(?=[(])

23.截取當前行包含第一個括弧前面的全部字元:^[^(|^(|^\\r|^\\n]*(?:[(])

24.獲取兩個括弧之間的字元串:(?<=[(])[^)|^)]*

----------------------------------------------------------------------------------------

二、平時使用正則表達式匯總

1.驗證用戶名和密碼:("^[a-zA-Z]\\w{5,15}$")正確格式:"[A-Z][a-z]_[0-9]"組成,並且第一個字必須為字母6~16位;

2.驗證電話號碼:("^(\\d{3,4}-)\\d{7,8}$")正確格式:xxx/xxxx-xxxxxxx/xxxxxxxx;

3.驗證手機號碼(包含虛擬號碼和新號碼段):"^1([38][0-9]|4[5-9]|5[0-3,5-9]|66|7[0-8]|9[89])[0-9]{8}$";

4.驗證身份證號(15位):"\\d{14}[[0-9],0-9xX]",(18位):"\\d{17}(\\d|X|x)";

5.驗證Email地址:("^\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*$");

6.只能輸入由數字和26個英文字母組成的字元串:("^[A-Za-z0-9]+$");

7.整數或者小數:^[0-9]+([.][0-9]+){0,1}$

8.只能輸入數字:"^[0-9]*$"。

9.只能輸入n位的數字:"^\\d{n}$"。

10.只能輸入至少n位的數字:"^\\d{n,}$"。

11.只能輸入m~n位的數字:"^\\d{m,n}$"。

12.只能輸入零和非零開頭的數字:"^(0|[1-9][0-9]*)$"。

13.只能輸入有兩位小數的正實數:"^[0-9]+(\\.[0-9]{2})?$"。

14.只能輸入有1~3位小數的正實數:"^[0-9]+(\\.[0-9]{1,3})?$"。

15.只能輸入非零的正整數:"^\\+?[1-9][0-9]*$"。

16.只能輸入非零的負整數:"^\\-[1-9][0-9]*$"。(15+16):"[\\+|\\-]?[1-9][0-9]*"

17.只能輸入長度為3的字元:"^.{3}$"。

18.只能輸入由26個英文字母組成的字元串:"^[A-Za-z]+$"。

19.只能輸入由26個大寫英文字母組成的字元串:"^[A-Z]+$"。

20.只能輸入由26個小寫英文字母組成的字元串:"^[a-z]+$"。

21.驗證是否含有^%&',;=?$\\"等字元:"[%&',;=?$\\\\^]+"。

22.只能輸入漢字:"^[\\u4e00-\\u9fa5]{0,}$"。

23.驗證URL:"^http://([\\w-]+\\.)+[\\w-]+(/[\\w-./?%&=]*)?$"。

24.驗證一年的12個月:"^(0?[1-9]|1[0-2])$"正確格式為:"01"~"09"和"10"~"12"。

25.驗證一個月的31天:"^((0?[1-9])|((1|2)[0-9])|30|31)$"正確格式為;"01"~"09"、"10"~"29"和「30」~「31」。

26.獲取日期正則表達式:"^\\d{1,4}[年|\\-|\\.](1[0-2]|0?[1-9])[月|\\-|\\.](31|30|((2|1)[0-9])|(0?[1-9]))日?$"

評註:可用來匹配大多數年月日信息,注意與24與25的差別,注意順序。

27.匹配雙位元組字元(包括漢字在內):[^\\x00-\\xff]

評註:可以用來計算字元串的長度(一個雙位元組字元長度計2,ASCII字元計1)

28.匹配空白行的正則表達式:^[\\t| ]*$\\r\\n

評註:可以用來刪除空白行

29.匹配HTML標記的正則表達式:<(\\S*?)[^>]*>.*?</>|<.*? />

評註:網上流傳的版本太糟糕,上面這個也僅僅能匹配部分,對於複雜的嵌套標記依舊無能為力

30.匹配首尾空白字元的正則表達式:^\\s*|\\s*$

評註:可以用來刪除行首行尾的空白字元(包括空格、製表符、換頁符等等),非常有用的表達式

31.匹配網址URL的正則表達式:[a-zA-z]+://[^\\s]*

評註:網上流傳的版本功能很有限,上面這個基本可以滿足需求

32.匹配帳號是否合法(字母開頭,允許5-16位元組,允許字母數字下劃線):^[a-zA-Z][a-zA-Z0-9_]{4,15}$

評註:表單驗證時很實用

33.匹配騰訊QQ號:[1-9][0-9]{4,}

評註:騰訊QQ號從10 000 開始

34.匹配中國郵政編碼:[1-9]\\d{5}(?!\\d)

評註:中國郵政編碼為6位數字

35.匹配MAC地址:([A-Fa-f0-9]{2}\\:){5}[A-Fa-f0-9]{2} 或者 ([A-Fa-f0-9]{2}\\-){5}[A-Fa-f0-9]{2}

36.提取一段內容中的所有IP地址

((2(5[0-5]|[0-4]\\d))|[0-1]?\\d{1,2})(\\.((2(5[0-5]|[0-4]\\d))|[0-1]?\\d{1,2})){3}

37.判斷字元串是否是IP地址

^((2(5[0-5]|[0-4]\\d))|[0-1]?\\d{1,2})(\\.((2(5[0-5]|[0-4]\\d))|[0-1]?\\d{1,2})){3}$

----------------------------------------------------------------------------------------

三、等價符號

等價:

等價是等同於的意思,表示同樣的功能,用不同符號來書寫。

?,*,+,\\d,\\w 都是等價字元

?等價於匹配長度{0,1}

*等價於匹配長度{0,}

+等價於匹配長度{1,}

\\d等價於[0-9]

\\D等價於[^0-9]

\\w等價於[A-Za-z_0-9]

\\W等價於[^A-Za-z_0-9]。

常用運算符與表達式:

^ 行首字元

() 域段

[] 包含,默認是一個字元長度

[^] 不包含,默認是一個字元長度

{n,m} 匹配長度

. 任何單個字元(\\. 字元點)

| 或

\\ 轉義

$ 行尾字元

[A-Z] 26個大寫字母

[a-z] 26個小寫字母

[0-9] 0至9數字

[A-Za-z0-9] 26個大寫字母、26個小寫字母和0至9數字

, 分割

語法與釋義:

基礎語法 "^([]{})([]{})([]{})$"

正則字元串 = "開始([包含內容]{長度})([包含內容]{長度})([包含內容]{長度})結束"

(?:)(?=)(?!)(?<=)(?<!)(?i)(*?)(+?)這種特殊組合。

「.」 =匹配任意單個字元

「*」 =匹配0次或更多

----------------------------------------------------------------------------------------

四、校驗數字的表達式

1. 數字:^[0-9]*$

2. n位的數字:^\\d{n}$

3. 至少n位的數字:^\\d{n,}$

4. m-n位的數字:^\\d{m,n}$

5. 零和非零開頭的數字:^(0|[1-9][0-9]*)$

6. 非零開頭的最多帶兩位小數的數字:^([1-9][0-9]*)+(\\.[0-9]{1,2})?$

7. 帶1-2位小數的正數或負數:^(\\-)?\\d+(\\.\\d{1,2})$

8. 正數、負數、和小數:^(\\-|\\+)?\\d+(\\.\\d+)?$

9. 有兩位小數的正實數:^[0-9]+(\\.[0-9]{2})?$

10. 有1~3位小數的正實數:^[0-9]+(\\.[0-9]{1,3})?$

11. 非零的正整數:^[1-9]\\d*$ 或 ^([1-9][0-9]*){1,3}$ 或 ^\\+?[1-9][0-9]*$

12. 非零的負整數:^\\-[1-9][]0-9"*$ 或 ^-[1-9]\\d*$

13. 非負整數:^\\d+$ 或 ^[1-9]\\d*|0$

14. 非正整數:^-[1-9]\\d*|0$ 或 ^((-\\d+)|(0+))$

15. 非負浮點數:^\\d+(\\.\\d+)?$ 或 ^[1-9]\\d*\\.\\d*|0\\.\\d*[1-9]\\d*|0?\\.0+|0$

16. 非正浮點數:^((-\\d+(\\.\\d+)?)|(0+(\\.0+)?))$ 或 ^(-([1-9]\\d*\\.\\d*|0\\.\\d*[1-9]\\d*))|0?\\.0+|0$

17. 正浮點數:^[1-9]\\d*\\.\\d*|0\\.\\d*[1-9]\\d*$ 或 ^(([0-9]+\\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9]+)|([0-9]*[1-9][0-9]*))$

18. 負浮點數:^-([1-9]\\d*\\.\\d*|0\\.\\d*[1-9]\\d*)$ 或 ^(-(([0-9]+\\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9]+)|([0-9]*[1-9][0-9]*)))$

19. 浮點數:^(-?\\d+)(\\.\\d+)?$ 或 ^-?([1-9]\\d*\\.\\d*|0\\.\\d*[1-9]\\d*|0?\\.0+|0)$

----------------------------------------------------------------------------------------

校驗字元的表達式

1. 漢字:^[\\x{4e00}-\\x{9fa5}]+$

2. 英文和數字:^[A-Za-z0-9]+$ 或 ^[A-Za-z0-9]{4,40}$

3. 長度為3-20的所有字元:^.{3,20}$

4. 由26個英文字母組成的字元串:^[A-Za-z]+$

5. 由26個大寫英文字母組成的字元串:^[A-Z]+$

6. 由26個小寫英文字母組成的字元串:^[a-z]+$

7. 由數字和26個英文字母組成的字元串:^[A-Za-z0-9]+$

8. 由數字、26個英文字母或者下劃線組成的字元串:^\\w+$ 或 ^\\w{3,20}$

9. 中文、英文、數字包括下劃線:^[\\u4E00-\\u9FA5A-Za-z0-9_]+$

10. 中文、英文、數字但不包括下劃線等符號:^[\\u4E00-\\u9FA5A-Za-z0-9]+$ 或 ^[\\u4E00-\\u9FA5A-Za-z0-9]{2,20}$

11. 可以輸入含有^%&',;=?$\\"等字元:[^%&',;=?$\\x22]+

12. 禁止輸入含有~的字元:[^~\\x22]+

13. 美國標準信息交換碼:[\\x00-\\x7F]

14. 任意西文字元碼:[\\x00-\\xFF]

15. 匹配任意雙位元組字元:[^\\x00-\\x7f] 或者 [\\x{0100}-\\x{ffff}]

注意:符號"^"在字符集[]中用於(否)取反,如果不是在字符集[]中,那麼表示行首字元。

16. Java、JavaScript支持的16進位字元編碼轉義符有:[\\u4e00-\\u9fa5], [\\u0000-\\uFFFF]

----------------------------------------------------------------------------------------

三、特殊需求表達式

1. Email地址:^\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*$

2. 域名:[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(\\.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+\\.?

3. InternetURL:[a-zA-z]+://[^\\s]* 或 ^http://([\\w-]+\\.)+[\\w-]+(/[\\w-./?%&=]*)?$

4. 手機號碼:^(13[0-9]|14[5|7]|15[0|1|2|3|4|5|6|7|8|9]|18[0|1|2|3|5|6|7|8|9])\\d{8}$

5. 電話號碼("XXX-XXXXXXX"、"XXXX-XXXXXXXX"、"XXX-XXXXXXX"、"XXX-XXXXXXXX"、"XXXXXXX"和"XXXXXXXX):^(\\(\\d{3,4}-)|\\d{3.4}-)?\\d{7,8}$

6. 國內電話號碼(0511-4405222、021-87888822):\\d{3}-\\d{8}|\\d{4}-\\d{7}

7. 電話號碼正則表達式(支持手機號碼,3-4位區號,7-8位直播號碼,1-4位分機號): ((\\d{11})|^((\\d{7,8})|(\\d{4}|\\d{3})-(\\d{7,8})|(\\d{4}|\\d{3})-(\\d{7,8})-(\\d{4}|\\d{3}|\\d{2}|\\d{1})|(\\d{7,8})-(\\d{4}|\\d{3}|\\d{2}|\\d{1}))$)

8. 身份證號(15位、18位數字),最後一位是校驗位,可能為數字或字元X:(^\\d{15}$)|(^\\d{18}$)|(^\\d{17}(\\d|X|x)$)

9. 帳號是否合法(字母開頭,允許5-16位元組,允許字母數字下劃線):^[a-zA-Z][a-zA-Z0-9_]{4,15}$

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

11. 強密碼(必須包含大小寫字母和數字的組合,不能使用特殊字元,長度在 8-10 之間):^(?=.*\\d)(?=.*[a-z])(?=.*[A-Z])[a-zA-Z0-9]{8,10}$

12. 強密碼(必須包含大小寫字母和數字的組合,可以使用特殊字元,長度在8-10之間):^(?=.*\\d)(?=.*[a-z])(?=.*[A-Z]).{8,10}$

13. 日期格式:^\\d{4}-\\d{1,2}-\\d{1,2}

14. 一年的12個月(01~09和1~12):^(0?[1-9]|1[0-2])$

15. 一個月的31天(01~09和1~31):^((0?[1-9])|((1|2)[0-9])|30|31)$

16. 錢的輸入格式:

a) 有四種錢的表示形式我們可以接受:"10000.00" 和 "10,000.00", 和沒有 "分" 的 "10000" 和 "10,000":^[1-9][0-9]*$

b) 這表示任意一個不以0開頭的數字,但是,這也意味著一個字元"0"不通過,所以我們採用下面的形式:^(0|[1-9][0-9]*)$

c) 一個0或者一個不以0開頭的數字.我們還可以允許開頭有一個負號:^(0|-?[1-9][0-9]*)$

d) 這表示一個0或者一個可能為負的開頭不為0的數字.讓用戶以0開頭好了.把負號的也去掉,因為錢總不能是負的吧。下面我們要加的是說明可能的小數部分:^[0-9]+(.[0-9]+)?$

e) 必須說明的是,小數點後面至少應該有1位數,所以"10."是不通過的,但是 "10" 和 "10.2" 是通過的:^[0-9]+(.[0-9]{2})?$

f) 這樣我們規定小數點後面必須有兩位,如果你認為太苛刻了,可以這樣:^[0-9]+(.[0-9]{1,2})?$

g) 這樣就允許用戶只寫一位小數.下面我們該考慮數字中的逗號了,我們可以這樣:^[0-9]{1,3}(,[0-9]{3})*(.[0-9]{1,2})?$

h) 1到3個數字,後面跟著任意個 逗號+3個數字,逗號成為可選,而不是必須:^([0-9]+|[0-9]{1,3}(,[0-9]{3})*)(.[0-9]{1,2})?$

i) 備註:這就是最終結果了,別忘了"+"可以用"*"替代如果你覺得空字元串也可以接受的話(奇怪,為什麼?)最後,別忘了在用函數時去掉去掉那個反斜杠,一般的錯誤都在這裡

17. xml文件:^([a-zA-Z]+-?)+[a-zA-Z0-9]+\\\\.[x|X][m|M][l|L]$

18. 中文字元的正則表達式:[\\u4e00-\\u9fa5]

19. 雙位元組字元:[^\\x00-\\xff] (包括漢字在內,可以用來計算字元串的長度(一個雙位元組字元長度計2,ASCII字元計1))

20. 空白行的正則表達式:\\n\\s*\\r (可以用來刪除空白行)

21. HTML標記的正則表達式:<(\\S*?)[^>]*>.*?|<.*? /> ( 首尾空白字元的正則表達式:^\\s*|\\s*$或(^\\s*)|(\\s*$) (可以用來刪除行首行尾的空白字元(包括空格、製表符、換頁符等等),非常有用的表達式)

22. 騰訊QQ號:[1-9][0-9]{4,} (騰訊QQ號從10000開始)

23. 中國郵政編碼:[1-9]\\d{5}(?!\\d) (中國郵政編碼為6位數字)

24. IPv4地址:((2(5[0-5]|[0-4]\\d))|[0-1]?\\d{1,2})(\\.((2(5[0-5]|[0-4]\\d))|[0-1]?\\d{1,2})){3}

25. 反向肯定預查,包含【行首字元】要不能使用或拼接,需要單獨拼寫:((?<=^)|(?<=95|98))Windows

26. 正向肯定預查,包含【行尾字元】可以使用或拼接,可以混合拼寫:Windows(?=95|98|$)

Windows85

Windows95

Windows98

Windows2000

Windows3.1

85Windows

95Windows

98Windows

2000Windows

3.1Windows

----------------------------------------------------------------------------------------

四、內嵌表達式

對應的內嵌標誌表達式是 (?i),它有四種形式:

1,(?i)

2,(?-i)

3,(?i:X)

4,(?-i:X)

不帶有「-」的是開標誌,帶有「-」的是關標誌。

a)所有的字元都進行不區分大小寫

String regex = "(?i)book";

b)只有首字元『b』不區分大小寫

String regex = "(?i)b(?-i)ook";

String regex = "(?i:b)ook";

book

Book

bOoK

BOoK

bOOK

----------------------------------------------------------------------------------------

四、替換表達式($1, $1, $2)

1.將*12\\n.3*自動轉義。

查找:[\\*\\\\\\.]

替換:\\\\\\\\$0

注意:"/" 英文是forward slash, 「\\" 是backward slash。中文分別是正斜杠、反斜杠。

形象些比喻的話,「/"是一個人站立著向前傾倒->, 而"\\"是一個人站立著向後傾倒。"

如果還是不理解,那麼百度搜索一下:邁克爾傑克遜向前傾倒圖片,演唱會經典姿勢。

2.自動轉義符號

使用正則匹配查找的時候:

\\Q...\\E 適合用於:表達式中需要比較長的普通文本,而其中包含了特殊符號。

\\Q(a+b)*3\\E :如果使用 \\Q...\\E 進行轉義,可匹配文本 "(a+b)*3"。

\\(a\\+b\\)\\*3 :如果不使用 \\Q...\\E 進行轉義,則對每個特殊符號進行轉義。

3.將單詞全部轉為大寫:

查找:(\\w+)

替換:\\L$1\\E

4.將單詞全部轉為小寫:

查找:\\w+

替換:\\L$0\\E

注意:沒有小括弧的時候,$0代表正則匹配到的字元串。

5.$1,$2表達的是小括弧裡面的內容

$1是第一個小括弧里的內容,$2是第二個小括弧裡面的內容,依此類推:

比如(\\\\d{4})(\\\\d{2})(\\\\d{2}) 匹配"20190919"

$1是第一個括弧里匹配的2019

$2是第二個括弧里匹配的09

$3是第三個括弧里匹配的19

----------------------------------------------------------------------------------------

五、位置匹配(正則表達式6個錨字元:^、$、\\b、\\B、(?=p)、(?!p))

1.將單詞首字母轉為大寫:

單詞首字母匹配:\\b[a-zA-Z]

轉為大寫:\\U$0\\E

注意:沒有小括弧的時候,$0代表正則匹配到的字元串。

2.將單詞首字母轉為小寫:

單詞首字母匹配:\\b[a-zA-Z]

轉為小寫:\\L$0\\E

注意:沒有小括弧的時候,$0代表正則匹配到的字元串。

3.匹配95或98之前的位置,除去行首符、回車符、換行符。

(?=p),其中 p 是一個子模式,即 p 前面的位置

除去行首符、回車符、換行符的表達式為:[^^|^\\r|^\\n]+(?=95|98)

Windows85

Windows95

Windows98

Windows2000

Windows3.1

85Windows

95Windows

98Windows

2000Windows

3.1Windows

4.(?!p) 就是(?=p) 的否定,即 !p 前面的位置

例如「Windows(?!95|98|NT|2000)」能匹配「Windows3.1」中的「Windows」,

但不能匹配「Windows2000」中的「Windows」。

Windows(?!95|98|NT|2000)

Windows85

Windows95

Windows98

WindowsNT

Windows2000

Windows3.1

5.匹配95或98之後的位置,除去行首符、回車符、換行符。

(?<=p),其中 p 是一個子模式,即 p 後面的位置

行首符、95、98之後的位置的表達式為:((?<=^)|(?<=95|98))Windows

【行首字元】不能直接跟95和98並列使用"|"拼接,需要單獨加一個括弧拼接:((?<=^)|(?<=95|98))Windows

Windows85

Windows95

Windows98

Windows2000

Windows3.1

85Windows

95Windows

98Windows

2000Windows

3.1Windows

6.匹配非【95或98】之後的位置,包含行尾符。

(?!p) 就是(?=p) 的否定,即 !p 後面的位置。

例如「(?<!95|98)Windows」能匹配「3.1Windows」中的「Windows」,

但不能匹配「98Windows」中的「Windows」。

非【95或98】之後的位置的表達式為:(?<!95|98)Windows

85Windows

95Windows

98Windows

2000Windows

3.1Windows

由於網站搬家,部分鏈接失效,如無法下載,請聯繫站長!謝謝支持!
1. 帶 [親測] 說明源碼已經被站長親測過!
2. 下載後的源碼請在24小時內刪除,僅供學慣用途!
3. 分享目的僅供大家學習和交流,請不要用於商業用途!
4. 本站資源售價只是贊助,收取費用僅維持本站的日常運營所需!
5. 本站所有資源來源於站長上傳和網路,如有侵權請郵件聯繫站長!
6. 沒帶 [親測] 代表站長時間緊促,站長會保持每天更新 [親測] 源碼 !
7. 盜版ripro用戶購買ripro美化無擔保,若設置不成功/不生效我們不支持退款!
8. 本站提供的源碼、模板、插件等等其他資源,都不包含技術服務請大家諒解!
9. 如果你也有好源碼或者教程,可以到審核區發布,分享有金幣獎勵和額外收入!
10.如果您購買了某個產品,而我們還沒來得及更新,請聯繫站長或留言催更,謝謝理解 !
GG資源網 » C++正則表達式獲取字元串中的漢字

發表回復

CAPTCHAis initialing...