1.普通字符匹配:
ab+ : 匹配一個a和任意個b 如: ab abb abbbbbb
c : 匹配一個c 如 : abcde 匹配內容: c 匹配開始索引:2 匹配結束索引 3
bcd : 匹配字符串 bcd 如: abcde 匹配內容是: bcd 匹配開始索引是:1 匹配結束索引是:4
2.轉換符匹配:
\:轉義字符匹配 如: \r \n \t \\ \^ \$ \. 匹配的內容分別是 回車 換行 制表符 \ ^ $ . 這些字符
3.普通字符與轉換字符結合匹配:
\$abc : 匹配$abc 如ok$abcok 匹配的內容是 $abc 匹配開始索引是2 匹配結束索引 是6
\d : 匹配任意數字(0~9)
\w : 匹配任意字母,數字或下劃線(A~Z,a~z,0~9,_)
\s : 匹配空格,制表符,換頁符等空白字符中的任意一個
\. : 匹配除了換行符號(\n)外的任意字符
\d\d : 匹配兩個連接出現的數字(0~9任意一個)
如 abc123 匹配內容12 匹配開始索引: 3 匹配結束索引: 5
a.\d : 匹配小寫字母a開始后面是一個任意字符(\n除外)最后一個匹配是數字(0~9任意一個)
如 aaa123 匹配到的內容是aa1 匹配開始索引是:1 匹配結束索引是:4
4.自定義匹配表達式:
[ab5@] : 匹配中括號[]內所出現的任意字符 只要字符串中出現 a 或 b 或 5 或 @ 都能匹配成功
如: xxxaxxx bbbbx xkxkxkb klfdjskljflksl5a fldsjlf@dfs12 這些都匹配成功
[abc][bcd] : 匹配中括號[]內所出現的任意字符 如 123ab89 4545bc56 afafabc55 123afdgbcd
[^abc] : 匹配不包含在中括號內的任意字符,也就是字符串不能包含有a,b,c的任何一個字符
如: efccf1 成功 affdf 失敗 cb123 失敗 c234 失敗 b67 失敗
[a-f] : 匹配小字母a到f之間的任意一個字母: 如 a122 成功 aaafbc成功 f10成功
[^A-G0-5] : 匹配除了大寫A到大寫G之間的任意字母,和0到5之間的任意數字外的其它字符,
也就是說不能使用 A B C D E F G 和 0 1 2 3 4 5
5.匹配出現次數
在上面1到4點的基本上加上{n}, n 表示出現匹配的次數
如: abc{2} 匹配成功的 abcabc faccdabcabc
5{5} 匹配成功的 55555 655555 675555577
\w{2} 最少出現兩個(字母,數字,下劃線) 如: a5_ a5. a_ 5a 5_ 都匹配成功 $5@ 失敗
{m,n} : 匹配最少與最少重復出現次數: 如 xg{1,3} 匹配成功 xg xgg xggg都匹配OK
{m,} : 匹配最少重復多少次 如: \d\w{2}\d{3,}
匹配成功: 1a1234 2a234567 6q789687979 1aw123 2qx456 5ex758437957
? : 匹配0次或者1 次 如 a[bc]? 匹配成功 a ab ac
+ : 匹配至少出現1次 相當于{1,} 如o+k 匹配成功: ok ooook ookkkkkkkkk
* : 匹配不出現,或者出現任意次 ,相當于 {0,} 如: \^*b 成功匹配 : "b" "\^^^b"
\d+\.?\d* : 匹配至少出現1次的數字,及出現0次或者1次任意字符(\n除外),和出現或者不出現的數字
如: 1$12.5 \d+ -> 12 \.? -> . 5 -> \d*
go{2,8}gle : 匹配 google goooooooogle
6.抽象意義特殊字符
^ : 表示從字符串的開始地方匹配,不匹配任何字符
$ : 表達從字符串的結尾地主匹配,不匹配任意字符
\b : 匹配一個單調邊界,也就是單詞與空格之間的位置,不匹配任意字符
如: ^aaa : 從字符串開始位置匹配aaa aaabbbccc 成功 bbbccccaaa 失敗 bbbaaaccc 失敗
aaa$ : 從字符串結尾位置匹配aaa bbbcccaaa 成功 aaabbbccc失敗 cccaaabbb 失敗
.\b. : 從單詞邊界開始匹配,取非單詞邊界一個任意字符(\n除外) ,
與單詞邊界一個任意字符(\n除外) 如 : @@@abc -> @@@非單詞邊界 abc單詞邊界
所以匹配內容為@a
\bend\b : 匹配單詞邊界前后 如: testend,okend,end 成功匹配到最后的一個end
| : 使用或匹配 , 左邊或者右邊匹配成功, 如: YES|NO
匹配成功 : this YES , this NO , this YES or NO
(go\s*)+ : 匹配次數修改 如: Let's go go go 匹配成功 ,匹配內容 go go go
\$(\d+\.?\d*) : 匹配$與小數 如 $12.78 匹配成功 \$ -> $ (\d+\.?\d*) ->匹配小數
7.更多匹配(貪婪模式)與更少匹配(勉強模式):
(d)(\w+) : 匹配d字母后面的一個或者多個字符 如: xxxdxxxd ->dxxxd
(d)(\w+)(d) : 前后匹配d字母,取中間的字符串 如: xxxdxxx dxxxdxxxd
(d)(\w+?) : 匹配d字母后面的一個或者多個字符 如: xxxdxxxd ->dx
(d)(\w+?)(d) : 前后匹配d字母,取中間的字符串 如: dxxxdxxxd ->xxx
<td>(.*)</td> :
匹配所有 <td><p></p>a</td><td><p>b</p></td> => <td><p></p>a</td><td><p>b</p></td>
<td>(.*?)</td> :
至少匹配 <td><p></p>a</td><td><p>b</p></td> => <td><p></p>a</td>
正則引用: 引用()中的表達式匹配到的字符 \1 表示引用第1個括號中內容, \2表示引用第2個括號中內容
('|")(.*?)(\1) 相當于 ('|")(.*?)('|")
(\w)\1{4,} : 表示在一個字母后面至少出現4上相同的字符,相當于 ()\w\w{}4, 文章來源:http://www.zghlxwxcb.cn/news/detail-736189.html
如: abccccc -> (\w) -> c \1{4,} -> \w{4,} ->cccc文章來源地址http://www.zghlxwxcb.cn/news/detail-736189.html
到了這里,關于Qt5.12實戰(zhàn)之正則與QregExp使用的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!