最早接觸正規表示式是在學習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 其中位於 定界符之間的部分就是將要在目標物件中進行匹配的模式。為了能夠使使用者更加靈活的的定製模式內容,正規表示式提供了專門的 元字元 所謂元字元就是指那些表示式中具有特殊意義的字元,可以用來規定其前導字元 即在元字元前面的字元 在目標物件中的出現模式。較為...