程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> C++ regex

C++ regex

編輯:C++入門知識

C++ regex


使用C++regex判斷數字,實數,ip,電子郵件,單詞,電話號,日期等格式

#include "check.h"
#include 
#include 

using namespace std;

///判斷全為數字
bool all_digit(const string &s)
{
   regex r("^[0-9]*$");
   return regex_match(s,r);
} 

///判斷單詞
bool all_alpha(const string &s)
{
   regex r("^[[:alpha:]]*$"); 
   return regex_match(s,r);
}

///判斷全為單詞或數字
bool all_alnum(const string &s)
{
   regex r("^[[:alnum:]]*$");
   return regex_match(s,r);
}

///判斷整數
bool is_int(const string &s)
{
   regex r("^[-]?(0|([1-9][0-9]*))$");
   return regex_match(s,r);
}

///判斷實數
bool is_float(const string &s)
{
   regex r("^-?(0|([1-9][0-9]*))\\.[0-9]+$");
   return regex_match(s,r);
}

///判斷ip
bool is_ip(const string &s)
{
   regex r("^((((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|(([1-9][0-9]?)|0))\\.){3}"
                        "((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|(([1-9][0-9]?)|0)))$");
   return regex_match(s,r);
}

///判斷電話號,以0或1開頭,11位數字組成
bool is_phone(const string &s)
{
   regex r("^[01][0-9]{10}$");
   return regex_match(s,r);
}

///判斷日期1900-2999年之間
bool is_date(const string &s)
{
   regex r("^[12][0-9]{3}-((0[1-9])|(1[0-2]))-((0[1-9])|([12][0-9])|(3[01]))$");
   return regex_match(s,r);
}

///判斷電子郵箱地址
bool is_mail(const string &s)
{
  regex r("^[[:alnum:]]+@[[:alnum:]]+\\.[a-z]+$");
  return regex_match(s,r);
}


  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved