#C++11:正規表達式(Regular Expression)的使用- 翼世界夢想 ...

文章推薦指數: 80 %
投票人數:10人

#C++11:正規表達式(Regular Expression)的使用 ... Regex的引入與創建 ... 參考資料. – C++ Reference:http://www.cplusplus.com/reference/regex/ ... ↑ >02教學文章>02-01程式設計教學>#C++11:正規表達式(RegularExpression)的使用 #C++11:正規表達式(RegularExpression)的使用 02-01程式設計教學 C# 灆洢 2015-05-1023:53:04 在C++11中,已經內建支援正規表達式的函式庫了!透過撰寫這篇文章去整理一下我們該如何使用它吧! Regex的引入與創建 在C++11中,要使用正規表達式之前必須要先引入正規表達式的函式庫,記得要先加入下面這行: #include 接著就可以來宣告出正規表達式物件了。

C++11中使用的正規表達式格式是與ECMAScript格式相同的,故如果你在JavaScript中已經很熟正規表達式了,那在C++11應該也可以運用自如。

底下就是一個範例去宣告一個正規表達式物件,這正規表達式是用來找son開頭,後面接著其他英文字母的單字: regexreg("son[A-Za-z]*"); regex_match:比對字串是否符合正規表達式所定義之格式 定義好正規表達式物件後,接著就可以利用regex_match去比對某個字串是否符合正規表達式所定義之格式。

底下是一個可以讓使用者輸入一行字串,並檢驗輸入的字串是否符合上例中宣告出來的正規表達式所定義之格式的程式的程式碼: #include #include usingnamespacestd; intmain(){ regexreg("son[A-Za-z]*"); stringinput; getline(cin,input); if(regex_match(input,reg)){ cout< #include usingnamespacestd; intmain(){ regexreg("(son)([A-Za-z]*)"); stringinput; getline(cin,input); smatchsm; if(regex_match(input,sm,reg)){ cout< #include usingnamespacestd; intmain(){ regexreg("(son)([A-Za-z]*)"); stringinput; getline(cin,input); smatchsm; intcount=0; while(regex_search(input,sm,reg)){ ++count; cout< #include usingnamespacestd; intmain(){ regexreg("(son)([A-Za-z]*)"); stringinput; getline(cin,input); cout<



請為這篇文章評分?