C++ STL 中的 match_results length()2025 年 5 月 24 日 | 4 分钟阅读 C++ 标准库中的正则表达式功能包括 std::match_results 类模板。它与正则表达式一起使用,用于保存正则表达式匹配的结果。可以使用 std::match_results 中的 length() 函数获取特定子匹配的匹配文本长度。 C++ STL 中 std::match_results 类的 length() 成员函数可用于查找匹配子字符串的长度。 语法以下是使用 length() 的语法 返回类型
参数没有参数。length() 方法不需要任何参数即可运行。 用途为了找到完整匹配的长度,length() 函数通常在 std::match_results 的实例上执行。 或者,它可以与索引结合使用以获取特定子匹配的长度。 1. C++ 中的正则表达式对于字符串中的模式匹配,正则表达式是一个方便的工具。 C++ 标准库中包含一个头文件,其中包含用于使用正则表达式的函数和类。 2. std::match_results 模板类C++ 标准库的正则表达式功能之一是 std::match_results 类模板 ()。 它是一个模板类,用于存储正则表达式匹配的结果和匹配子表达式的详细信息。 3. length() 成员函数std::match_results 模块具有 length() 成员函数。 它用于获取与特定子匹配(由其索引表示)匹配的文本长度。 4. 用例当需要确定匹配文本的长度以进行进一步处理或验证时,它很有用。 它可以应用于您希望提取和处理与正则表达式匹配的子字符串的情况。 5. 注意对子匹配使用 length() 时请谨慎,以防止未定义行为并确保子匹配索引有效。 示例让我们举一个例子来说明 C++ 中的 match_result length() 函数。 输出 Entire match: The Length of the entire match: 3 Submatch 0: The Length of submatch 0: 3 说明1. 包含头文件 这些是用于正则表达式和输入/输出函数的标准 C++ 头文件。 2. 定义正则表达式和输入字符串 输入字符串是包含需要搜索的文本的字符串。 WordPattern 是一个与单词对应的正则表达式模式。它使用转义序列 \b 表示单词边界,\w 表示单词字符。 3. 声明 std::smatch 用于匹配结果 声明一个专门的 match_results 对象 std::smatch,用于匹配结果。此对象存储有关正则表达式搜索结果的信息。 4. 执行 Regex_search 可以使用 std::regex_search 函数在输入字符串 (input) 中找到正则表达式模式 (wordPattern)。matches 对象包含匹配结果的存储。 5. 显示完整匹配及其长度 如果检测到匹配,则使用 matches.str() 和 matches.length() 输出整个匹配的子字符串及其长度。 6. 显示单个子匹配及其长度 之后,通过迭代特定的子匹配(捕获组),它使用 matches[i].matches.length(i) 和 str() 输出每个子匹配的长度。 7. 返回 0 通知操作系统程序已完成。 结论总之,这个 C++ 程序使用正则表达式在给定字符串中搜索单词。搜索使用 std::regex_search,匹配结果存储在 std::smatch 中。之后,程序会打印完整匹配和每个子匹配的详细信息,包括长度。该示例演示了如何使用 C++ <regex> 功能提取和操作匹配信息。 |
一种用于解决各种计算几何问题(尤其是涉及凸形状的问题)的几何方法是使用旋转卡钳。此方法通常用于计算其他凸包属性,例如凸多边形的直径或最小外接矩形。一个...
阅读 8 分钟
迷人数字简介迷人数字是数论中相当有趣的概念。这些数字在乘以某些数字时具有有趣的性质,例如产生包含 1 到 9 的所有数字恰好一次且顺序不尽相同的序列……
11 分钟阅读
C 和 C++ 中的行拼接是将一条逻辑代码行分成多条物理代码行的过程。这可以通过在需要继续的每一行的末尾添加反斜杠 \ 来完成。行拼接是...
阅读 2 分钟
递归是计算机科学和编程的核心概念之一,其中函数调用自身以解决给定问题。该方法在解决可以分解为多个具有相同解决方案的相似问题的方面非常有效。迭代...
阅读9分钟
在本文中,我们将讨论,包括其语法、示例、优点以及许多其他内容。引言:在 C++ 全局中,理解流的细节及其格式化机制是流式 I/O 的核心。一个有用的功能是 C++ 标准库中的 std::basic_ios::copyfmt...
7 分钟阅读
在本文中,我们将研究 C++ 算法,用于打印 Smarandache-Wellin 数列的前 m 项。但是,首先,我们需要了解 Smarandache-Wellin 数列。一系列 Smarandache-Wellin 数称为 Smarandache-Wellin 数列。被称为 Smarandache-Wellin 数的整数是通过连接...
阅读 6 分钟
简介:Woodall 数列,这是一系列整数,最初可能会让你觉得有些不寻常。这些数字最初是在 20 世纪 70 年代,数学家 D.G. Woodall 在研究数字模式时偶然发现的。该数列以 1 开始,然后跳到 7,接着是 23,并继续向前发展...
阅读 8 分钟
在本文中,我们将讨论其应用。什么是 Kill Process?进程就是执行程序的进程。例如,用 C 和 C++ 编写程序将编译为二进制代码的目标...
5 分钟阅读
在本文中,我们讨论。分段筛是一种普通筛算法的优化版本。与计算所有数的倍数的普通筛不同,分段筛只计算某些素数的倍数...
阅读 6 分钟
DSL 简介:领域特定语言 (DSL) 是一种特定于某个领域或问题区域的编程语言,与通用编程语言 (GPL) 相比,它提供了更高的效率和抽象。与 C++ 或 Python 等通用的机器级 GPL 不同,后者涵盖了广泛的...
阅读 10 分钟
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India