Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

c++ 正则表达式

作者:遥岚月刹   发布日期:2025-04-16   浏览:96

#include <iostream>
#include <regex>
#include <string>

int main() {
    // 定义一个正则表达式,用于匹配电子邮件地址
    std::regex email_regex(R"(\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z]{2,}\b)", std::regex_constants::icase);

    // 测试字符串
    std::string test_str = "My email is example@example.com and your email is test@domain.org";

    // 使用 std::sregex_iterator 查找所有匹配项
    auto words_begin = std::sregex_iterator(test_str.begin(), test_str.end(), email_regex);
    auto words_end = std::sregex_iterator();

    // 输出所有匹配的电子邮件地址
    for (std::sregex_iterator i = words_begin; i != words_end; ++i) {
        std::smatch match = *i;
        std::string match_str = match.str();
        std::cout << "Found email: " << match_str << '\n';
    }

    return 0;
}

解释说明:

  1. 引入头文件#include <regex> 引入了 C++ 标准库中的正则表达式支持。
  2. 定义正则表达式:使用 std::regex 定义了一个用于匹配电子邮件地址的正则表达式。这里的正则表达式 \b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z]{2,}\b 可以匹配常见的电子邮件格式,并且忽略了大小写(通过 std::regex_constants::icase)。
  3. 测试字符串:定义了一个包含多个电子邮件地址的字符串 test_str
  4. 查找匹配项:使用 std::sregex_iterator 来遍历并查找字符串中所有与正则表达式匹配的部分。
  5. 输出结果:将找到的每个电子邮件地址输出到控制台。

这个示例展示了如何在 C++ 中使用正则表达式来查找和处理文本中的特定模式。

上一篇:c++ 重载运算符

下一篇:c++getline

大家都在看

c++闭包

c++单引号和双引号的区别

c++ 注释

c++如何判断素数

c++freopen怎么用

c++ 获取系统时间

c++进制转换函数

c++ tcp

c++ gcd函数

c++ cli

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站