學習QT之演算法和正規表示式

2021-10-03 09:15:52 字數 1977 閱讀 6470

函式功能

qabs(value)

返回value的絕對值

qmax(value1,value2)

返會value1和value2中較大的值

qround(value)

返回與乙個浮點數最接近的整數值,即四捨五入返回乙個整數值

qswap(value1,value2)

交換value1和value2的值

使用正規表示式可以方便地完成處理字串的一些操作,如驗證、查詢、替換和分割等。qt的qregexp類是正規表示式的表示類,它基於perl的正規表示式語言,完全支援unicode.

正規表示式由表示式量詞斷言組成。

(1)、最簡單的表示式是乙個字元。字符集可以使用表示式如"[aeiou]",表示匹配所有的大學母音字母;使用"[ ^ aeiou]",表示匹配所有的非母音字母,即子音字母;連續的字符集可以使用表示式如"[a-z]",表示匹配所有的小寫英文本母。

(2)、量詞說明表示式出現的次數,如"x[1,2]",表示「x」可以至少有乙個,至多有兩個。

在計算機語言中,識別符號通常要求一字母或下劃線開頭,後面可以說字母、數字和下劃線。滿足條件的識別符號表示為:[a-za-z]+[a-za-z_0-9]*

其中,表示式中的"+「表示」[a-za-z]「至少出現一次,可以出現多次;」*"表示[a-za-z_0-9]可以出現零次或多次。

正規表示式的表示式如下

表示式說明

包含一系列字元

[^]包含之外一系列字元

\r,\n

代表回車和換行符

\t製表符

\ \表達" \ "本身

^匹配^符號本身

\ $匹配$符號本身

例如:[a-za-z_0-9]匹配字母數字和下劃線;[ ^a-z]匹配除小寫字母外的所有所有字元

正規表示式的量詞如下

量詞含義

量詞含義

e?匹配0次或1次

e至少匹配n次

e+匹配1次或多次

e最多匹配m次

e*匹配0次或多次

e至少匹配n次,最多匹配m次

e匹配n次

例如:\b[a-z]+[a-z_0-9]\b匹配大寫字母開頭乙個或多個,然後最多3個小寫字母或下劃線或數字

正規表示式的斷言如下

符號含義

符號含義

^表示在字串開頭進行匹配

\b非單詞邊界

$表示在字串結尾進行匹配

(?=e)

表示表示式後緊隨e才匹配

\b單詞邊界

(?!e)

表示表示式後不跟隨e才匹配

例如:^ [abc] [0-9]$匹配以abc中任意乙個開頭,數字結尾的字串

元字元如下

元字元說明

.匹配除了換行符意外的任意字元

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

\s匹配任意的空白符

\b單詞的開始或結尾

\ ~匹配字串的開始

$匹配字串的結束

\ba\w*\b:匹配以字母a開頭的單詞(\ba),然後是任意數量的字母或數字(\w *),最後是單詞結束處(\b)。

\b\w\b:匹配剛好6個字元的單詞。

#include#includeqregexp regexp("[a-za-z][0-9][1-9]");

//匹配第乙個為字母,第二個為數字,接下來的0-2個為非零數字

ui->lineedit->setvalidator(new qregexpvalidator(regexp,this));

ui->okbutton->setenable(ui->lineedit->hasacceptableinput());

qt之正規表示式

qregexp是qt的正規表示式類.qt中有兩個不同類的正規表示式.第一類為元字元.它表示乙個或多個常量表示式.令一類為 轉義字元,它代表乙個特殊字元.一.元字元 匹配任意單個字元.例如,1.3 可能是1.後面跟任意字元,再跟3 匹配字串首.例如,12可能是123,但不能是312 配字串尾.例如,1...

qt之正規表示式

qregexp是qt的正規表示式類.qt中有兩個不同類的正規表示式.第一類為元字元.它表示乙個或多個常量表示式.令一類為 轉義字元,它代表乙個特殊字元.一.元字元 匹配任意單個字元.例如,1.3 可能是1.後面跟任意字元,再跟3 匹配字串首.例如,12可能是123,但不能是312 配字串尾.例如,1...

Qt之正規表示式

qt裡對大名鼎鼎的正規表示式有很好的支援,使用qregexp類,你可以非常快的完成對文字的驗證 資料提取 替換。qt的sdk包裡還提供了regexp的gui小工具,方便你對正規表示式的驗證。本文在qt4.5.3下驗證通過。你可以使用qregexp exactmatch來判斷乙個字串是否符合乙個pat...