C 正規表示式的使用

2021-07-27 12:31:05 字數 1164 閱讀 5677

c++裡面使用正規表示式一般有三種:c regex,c ++regex,boost regex

c regex 的速度是最快的 

c++ regex 速度一般 

boost regex 速度最慢,但是用起來最方便

速度上大約是這麼個情況:v(c)=5v(c++)=10(boost) 

[宣告:以上速度是個人測試,僅供參考]

下面看用法:

c++版本:

// regex.cpp : 定義控制台應用程式的入口點。

//#include #include #include #include using namespace std;

//電子郵件匹配

bool is_email_valid(const std::string& email)

}return valid;

}//ip位址匹配

bool is_ipaddress_valid(const std::string& ipaddress)

).(\\d).(\\d).(\\d)");

//三位數的都可以,沒有設定1-255 的條件

std:: match_resultsconst_iterator> result;

bool valid = std::regex_match(ipaddress, result, pattern);

if(valid&&(result.length()>0))

}return valid;

}int main(int argc,char** argv)

const std::regex pattern("(\\w+)(\\.|_)?(\\w*)@(\\w+)(\\.(\\w+))+");首先注意『()』表示將正規表示式分成子表示式,每個『()』之間的內容表示乙個子表示式;『\』是乙個轉義字元,『\』表示扔掉第二個『\』的轉義特性,『\w+』表示匹配乙個或多個單詞,『+』表示重複一次或者多次,因此第乙個子表示式的意思就是匹配乙個或者多個單詞;接著看第二個子表示式,『|』表示選擇,出現『.』或者『』,後面的『?』表示該子表示出現一次或者零次,因此第二個子表示表示『.』或『』出現不出現都匹配。第三個子表示式表示出現乙個單詞,『*』表示任意個字元。

正規表示式語法

C 使用正規表示式

通過檢查返回的 match 物件的 success 屬性值,可以確定是否在輸入字串中找到了正規表示式模式。如果匹配成功,則返回的 match 物件的 value 屬性將包含 input 中與正規表示式模式匹配的子字串。如果未找到匹配項,其值將為 string.empty。此方法返回 input 中與...

正規表示式的使用 C

新手機號碼檢驗正規表示式 1.判斷手機號是否合法 1 const regex phonepattern 1 3,5 d 2const regex mobilepatten 1 3 0 9 5 0 35 9 8 0235 9 d 手機號3 const regex cmpatten 1 34 0 8 3...

python正規表示式及使用正規表示式的例子

正規表示式 正則表達用來匹配字串 正規表示式匹配過程 正規表示式語法規則 匹配除換行 n 外的任意字串 abcabc 轉義字元,使後乙個字元改變原來的意思 a c a c 字符集,對應的位置可以是字符集中任意字元,字符集中的字元可以逐個列出,也可以給出範圍,如 abc 或 a c 第乙個字元如果是 ...