当前位置: 移动技术网 > IT编程>开发语言>正则 > C++:regex正则表达式

C++:regex正则表达式

2020年07月24日  | 移动技术网IT编程  | 我要评论

 正则表达式在<regex>头文件中定义,是标准库中的一个强大工具。正则表达式是一种用于字符串处理的微型语言。尽管一开始看上去比较复杂,但一旦了解这种语言,字符串的处理就会简单得多。正则表达式适用于一些与字符串相关的操作。

  • 验证:检测输入字符串是否格式正确。
  • 决策:判断输入表示那种字符串。
  • 解析:从输入字符串中提取信息。
  • 转换:搜索子字符串,并将子字符串替换为新的格式化的子字符串。
  • 遍历:搜索所有的子字符串。
  • 符号化:根据一组分隔符将字符串分解为多个子字符串。

ECMAScript:

C++包含对几种语法的支持,默认语法是ECMAScript。

  1. 锚点 ^ $
  2. 通配符 .
  3. 替代 |
  4. 分组 ()
  5. 重复 *、+、?、{…}
#include <iostream>
#include <regex>
#include <string>

int main()
{
    std::regex str_reg("(.)(ab|cd)(.)");
	std::string str_in("1cd4");

    std::smatch matchResult;

    //正则匹配
    if (std::regex_match(str_in, matchResult, str_reg))
    {
        std::cout << "Match:" << std::endl;
        //打印子表达式结果
        for (size_t i = 0; i < matchResult.size(); ++i)
        {
            std::cout << matchResult[i] << std::endl;
        }
    }
    else
    {
        std::cout << "Not Match!";
    }

	return 0;
}
kent@ubuntu:~/source/regex$ ./a.out
Match:
1cd4
1
cd
4

 

本文地址:https://blog.csdn.net/xikangsoon/article/details/107523955

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网