Qt中正規表示式小研究整理

2021-08-02 09:35:52 字數 1743 閱讀 8372

最早接觸正規表示式是在學習php的時候,要進行字元的匹配和驗證,在學習windows程式設計所用的課本上,正好有乙個章節講正規表示式,所以將所學習到的內容記錄在部落格中

正規表示式的應用方面

驗證:驗證字串是否符合某一些要求

搜尋:提供模式匹配

查詢和替換:使用乙個不同的字串替換所有匹配的字串

字串分割:識別字串在哪兒進行分割

qt中的qregexp類實現了用正規表示式進行模式匹配,下面就針對這個類中的內容進行介紹表示式:各種字元和字元組

量詞斷言

表示式含義

\r, \n

代表回車和換行符

\t製表符

\代表 「\」 本身

\^匹配 ^ 符號本身

$匹配 $ 符號本身

元字元含義.

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

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

\s匹配任意的空白符

\b單詞的開始或結尾

\~匹配字串的開始

$匹配字串的結束

正規表示式中的量詞

正規表示式中的斷言

斷言不匹配任何字元,只是講前後可能出現什麼。

$ 配字串尾. 例如, 12$可以是312, 當不能是 123

\b 單詞邊界

\b 非單詞邊界。

用括號括起來的部分可以被擷取到,通過cap(0)——匹配到的整個字串、cap(1)——第乙個括號的內容、cap(n…)。
class regexputils  

})

};

bool regexputils::existurl(const qstring &strtext)  

return bresult; //返回是否包含url

} //轉換@聯絡人字段(類似微博@,},替換為超連結)

void regexputils::convertremindlink(qstring &strhtml)

)\\|(.*)\\}\\}");//正規表示式獲取@好友的字段

qregexp remindexp;

remindexp.setpattern(strpattern);

remindexp.setminimal(true); //最小匹配模式

while(remindexp.indexin(strtemphtml) !=-1)

/*end of while(remindexp)*/

}/*end of if(!strcontenthtml)*/

str

測試
regexputils::existurl("www.baidu.com test1 測試2");  

qstring strremindtext = "} 微博內容 }";

qdebug() << "before convert"

<< strremindtext;

regexputils::convertremindlink(strremindtext);

qdebug() << "after convert:"

<< strremindtext;

oracle中正規表示式的研究

oracle的正規表示式 regular expression oracle 10g支援正規表示式的四個新函式分別是 regexp like regexp instr regexp substr 和regexp replace。它們在用法上與oracle sql 函式like instr subst...

JS中正規表示式

js中正規表示式有幾種不同的使用方法,一些用法是通過字串物件來使用,另外一些通過正規表示式物件使用。一 regexp 正規表示式 的屬性和方法 1 屬性 regexp的例項有幾個唯讀的屬性 global表示是否為全域性匹配,igorecase表示是否忽略大小寫,multiline表示是否為多行匹配,...

PHP中正規表示式

正規表示式一般表示式的形式如下 love 其中位於 定界符之間的部分就是將要在目標物件中進行匹配的模式。為了能夠使使用者更加靈活的的定製模式內容,正規表示式提供了專門的 元字元 所謂元字元就是指那些表示式中具有特殊意義的字元,可以用來規定其前導字元 即在元字元前面的字元 在目標物件中的出現模式。較為...