C++ 正则表达式

作用:C++正则表达式是一种用于匹配、搜索和替换文本的工具。它可以通过一些特定的语法规则来描述一些文本模式,然后在文本中查找符合这些模式的内容。正则表达式可以用于验证输入的数据是否符合特定的格式要求,也可以用于从文本中提取特定的信息。在C++中,可以使用正则表达式库来实现正则表达式的功能。常用的正则表达式库包括Boost.Regex和C++11标准库中的regex库。

匹配的规则:

  1. 元字符:
  • .:匹配任意一个字符
  • *:匹配前面的字符0次或多次
  • +:匹配前面的字符1次或多次
  • ?:匹配前面的字符0次或1次
  • ^:匹配字符串的开头
  • $:匹配字符串的结尾
  • []:匹配方括号中的任意一个字符
  • [^]:匹配不在方括号中的任意一个字符
  • ():分组,可以用于后向引用
  • | : 或者
  1. 转义字符:
  • \d:匹配数字字符
  • \D:匹配非数字字符
  • \w:匹配字母、数字、下划线字符
  • \W:匹配非字母、数字、下划线字符
  • \s:匹配空白字符
  • \S:匹配非空白字符
  • \b:匹配单词边界
  • \B:匹配非单词边界
  • \n:匹配换行符
  • \t:匹配制表符
  • {2,}至少两个

以上是C++正则表达式的一些常用规则,具体使用可以参考C++标准库中的regex类。

#include 
#include
using namespace std;


int main(){

string str="HyperWorks contains HyperMesh and HyperView and HyperStudy.";
//Hyper 后面可以接受任何字符串
string pattern("Hyper.*");
//string pattern("Hyper[^ ]+[  |.]");
regex r(pattern);

//查找
for(auto it(str.begin(),str.end(),r);end_it;it!=end_it;it++){

cout<str()<

cC++ 正则表达式_c++正则表达式_蒸肉大魔王的博客-CSDN博客

参考以上例子:

(1)邮箱验证代码

        

#include 
#inclde
using namespace std;

int main(){
int res=0;
while(!res){
   string email;
   cout<<"please input your email"<>email;
    if(regex_match(email,regex("[0-9,a-z,A-Z]{6,}@[0-9,a-z,A-Z]{2,}\\.com"))){
        cout<

(2)

你可能感兴趣的:(C/C++/c#,正则表达式)