正規表示式的使用 C

2022-05-04 18:57:07 字數 2268 閱讀 2300

**:

**:**:新手機號碼檢驗正規表示式)

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[5-9]|5[017-9]|8[278])\\d)\\d$

");//

中國移動

4const regex cupatten("

^1(3[0-2]|5[256]|8[56])\\d$

");//

中國聯通

5const regex ctpatten("

^1((33|53|8[09])[0-9]|349)\\d$

");//

中國電信

6const regex phspatten("

^0(10|2[0-5789]|\\d)\\d$

");//

大陸地區固話及小靈通78

if (regex_match(birdroid.c_str(), phonepattern ) || regex_match(birdroid.c_str(), mobilepatten ) ||

9 regex_match(birdroid.c_str(), cmpatten )||regex_match(birdroid.c_str(), cupatten )||

10 regex_match(birdroid.c_str(), ctpatten ) ||regex_match(birdroid.c_str(), phspatten ))

1114

else

15

最新手機號驗證合法性

//

正則判斷手機號是否合法

const regex phonepattern("

^[1]+[34578]+\\d$

");//

手機號

原來正則裡面的中括號只能匹配其中乙個,如果要匹配特定幾組字串的話,那就必須使用小括號()加或|,我還以為在中括號中也能使用或|符號,原來|在中括號裡面也是乙個字元,並不代表或。[3457]匹配3或者4或者5或者7,而(3457)只匹配3457,若要跟前面一樣可以加或(3|4|5|7)。[34|57]匹配3或者4或者|或者5或者7.而(34|57)能匹配34或者57。

下面簡單的解釋一下:·

^1(3|4|5|7|8)\d$

表示以1開頭,第二位可能是3/4/5/7/8等的任意乙個,在加上後面的\d表示數字[0-9]的9位,總共加起來11位結束。

2.密碼為密碼必須由6-20個字元組成

1

const regex passwordpattern("

^[0-9a-za-z]$");

2//const regex passwordpattern("(?=.*[0-9])(?=.*[a-z])(?=.*[!@#$%^&*])(?=.*[a-z]). ");

//這個無法驗證成功

3.密碼為必須大於8字元,含大寫字母、小寫字母和數字

1

const regex vcodepattern("

^(?=.*?[0-9])(?=.*?[a-z])(?=.*?[a-z])[0-9a-za-z!-)]$

");

4.密碼6-20位字元;數字、字母、特殊字元(除空格)

能匹配的組合為:數字+字母,數字+特殊字元,字母+特殊字元,數字+字母+特殊字元組合,而且不能是純數字,純字母,純特殊字元

1

const regex passwordpattern("

^(?![\d]+$)(?![a-za-z]+$)(?![^\da-za-z]+$).$

");

上面的正則裡所說的特殊字元是除了數字,字母之外的所有字元

如果要限定特殊字元,例如,特殊字元的範圍為 !#$%^&* ,那麼可以這麼改

2 const regex passwordpattern("

^(?![\d]+$)(?![a-za-z]+$)(?![!#$%^&*]+$)[\da-za-z!#$%^&*]$

");

C 使用正規表示式

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

C 正規表示式的使用

c 裡面使用正規表示式一般有三種 c regex,c regex,boost regex c regex 的速度是最快的 c regex 速度一般 boost regex 速度最慢,但是用起來最方便 速度上大約是這麼個情況 v c 5v c 10 boost 宣告 以上速度是個人測試,僅供參考 下面...

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

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