




下載本文檔
版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第C++中正則表達(dá)式的使用方法詳解在上面的程序中,首先,我們使用regex_match函數(shù)將字符串softwareTesting與正則表達(dá)式(soft)(.*)匹配。隨后,我們還通過(guò)向regex_match傳遞字符串對(duì)象、范圍等來(lái)演示regex_match的不同變體。
3.2regex_search()
函數(shù)regex_search()用于在字符串中搜索匹配正則表達(dá)式的模式。
考慮下面的c++程序,它顯示了regex_search()的用法。
#includeiostream
#includeregex
#includestring.h
usingnamespacestd;
intmain()
//stringtobesearched
stringmystr="Shesells_seashellsintheseashore";
//regexexpressionforpatterntobesearched
regexregexp("s[a-z_]+");
//flagtypefordeterminingthematchingbehavior(inthiscaseonstringobjects)
smatchm;
//regex_searchthatsearchespatternregexpinthestringmystr
regex_search(mystr,m,regexp);
cout"Stringthatmatchesthepattern:"endl;
for(autox:m)
coutx"";
return0;
我們先指定一個(gè)字符串,然后使用regex對(duì)象指定一個(gè)正則表達(dá)式。這個(gè)字符串和regex連同smatch標(biāo)志類(lèi)型一起被傳遞給regex_search函數(shù)。該函數(shù)在輸入字符串中搜索第一個(gè)出現(xiàn)的模式,并返回匹配的字符串。
3.3regex_replace()
函數(shù)regex_replace()用于用字符串替換與正則表達(dá)式匹配的模式。
讓我們使用一個(gè)c++程序來(lái)演示regex_replace()函數(shù)。
#includeiostream
#includestring
#includeregex
#includeiterator
usingnamespacestd;
intmain()
stringmystr="ThisissoftwaretestingHelpportal\n";
cout"Inputstring:"mystrendl;
//regextomatchstringbeginningwith'p'
regexregexp("p[a-zA-z]+");
cout"Replacetheword'portal'withword'website':";
//regex_replace()forreplacingthematchwiththeword'website'
coutregex_replace(mystr,regexp,"website");
stringresult;
cout"Replacetheword'website'backto'portal':";
//regex_replace()forreplacingthematchbackwith'portal'
regex_replace(back_inserter(result),mystr.begin(),mystr.end(),
regexp,"portal");
coutresult;
return0;
這里,我們有一個(gè)輸入字符串。我們提供了一個(gè)正則表達(dá)式來(lái)匹配以p開(kāi)頭的字符串。然后我們將匹配的單詞替換為website。接下來(lái),我們將website替換回portal。
4.C++輸入驗(yàn)證
我們已經(jīng)討論了使用regex進(jìn)行模式匹配的主要函數(shù)模板。值得注意的是,regex服務(wù)的主要目的是輸入驗(yàn)證。可以使用regex表達(dá)式驗(yàn)證從標(biāo)準(zhǔn)輸入設(shè)備輸入的輸入。
檢查下面的程序,以演示如何使用regex驗(yàn)證傳入的數(shù)據(jù)。
#includeiostream
#includeregex
#includestring
usingnamespacestd;
intmain()
stringinput;
regexinteger_expr("(\\+|-)[[:digit:]]+");
//Aslongastheinputiscorrectaskforanothernumber
while(true)
cout"Entertheinput:";
cininput;
if(!cin)break;
//Exitwhentheuserinputsq
if(input=="q")
break;
if(regex_match(input,integer_expr))
cout"Inputisaninteger"endl;
else
{cout"Invalidinput:Notaninteger"endl;}
這個(gè)程序匹配用戶(hù)輸入的輸入,以驗(yàn)證它是否是整數(shù)。上面的輸出顯示,當(dāng)輸入一個(gè)整數(shù)時(shí),它會(huì)給出一個(gè)適當(dāng)?shù)南?,而?dāng)輸入任何其他數(shù)據(jù)時(shí),它會(huì)將該消息作為無(wú)效輸入。
5.總結(jié)
Regex在搜索引擎中用于搜索模式,搜索和替換應(yīng)用程序的對(duì)話框,如字處理器和文本編輯器。Regex也用于UNIX實(shí)用程序,如sed、awk以及程序的詞法分析。
在本教程中,我們已經(jīng)看到了用于匹配、搜索和替換模式的函數(shù)。使用這些函
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 生鮮冷鏈倉(cāng)儲(chǔ)配送及冷鏈物流環(huán)保合同
- 環(huán)保設(shè)施安全運(yùn)行監(jiān)控補(bǔ)充協(xié)議
- 網(wǎng)紅效應(yīng)面包店區(qū)域代理權(quán)授權(quán)協(xié)議范本
- 知識(shí)產(chǎn)權(quán)商標(biāo)續(xù)展全流程代理合同
- 水利工程臨時(shí)監(jiān)理員安全責(zé)任承諾合同
- 工程抵押車(chē)協(xié)議書(shū)
- 電池研發(fā)測(cè)試階段意外損壞賠償及理賠補(bǔ)充協(xié)議
- 跨界聯(lián)動(dòng):游戲IP與電影制作公司合作合同
- 灰土樁付款協(xié)議書(shū)
- 開(kāi)飯店鄰居協(xié)議書(shū)
- 品牌輸出合同協(xié)議
- 2025年SAT語(yǔ)法沖刺備考:真題解析與模擬試題卷
- 油封包裝工培訓(xùn)
- 人形機(jī)器人行業(yè)未來(lái)發(fā)展?jié)摿εc趨勢(shì)展望
- 2025-2030中國(guó)建筑裝配行業(yè)發(fā)展分析及競(jìng)爭(zhēng)格局與發(fā)展趨勢(shì)預(yù)測(cè)研究報(bào)告
- 第六單元《軍民團(tuán)結(jié)一家親》課件 中學(xué)音樂(lè)人音版七年級(jí)下冊(cè)
- 2025年中考地理熱點(diǎn)素材題(含答案)
- 寧波大學(xué)2014-2015年高等數(shù)學(xué)A2期末考試試卷
- 2025年碩士研究生政治考研大綱
- 電子商務(wù)教師資格證教學(xué)理念試題及答案
- 地下工程防水技術(shù)規(guī)范
評(píng)論
0/150
提交評(píng)論