it编程 > 编程语言 > 正则表达式

正则表达式中(), +, $, \, \\的含义和区别举例详解

35人参与 2026-09-07 正则表达式

1. 小括号()

作用:

  1. 捕获组 (capturing group)

    • 把括号里的内容单独保存下来,方便后续用 match[i] 取出。

    • 例子:

      (\d+)
      

      匹配一串数字,并把这串数字保存下来。

      • 匹配 "abc123def" → 捕获组 = "123"

  2. 分组 (grouping)

    • 只是单纯地把表达式包起来,作为一个整体。

    • 例子:

      (ab)+
      

      匹配 "ababab",因为 + 应用在 (ab) 上。

如果不想捕获,只想分组,可以用 (?:...) (但 c++11 <regex> 不支持这个写法,python/pcre 支持)。

2. 加号+

作用:

对比:

3. 美元符号$

作用:

例子:

常见配合:

4. 反斜杠 \

作用:

5. 双反斜杠\\(c++ 代码里)

这个点最容易搞混:

c++ 源代码字符串里,\ 也被用作转义符。

所以在 c++ 里写正则时,所有 \ 都要写成 \\

例子:

std::regex r("\\d+");  

实际传给正则引擎的字符串是:\d+,匹配 1 个或多个数字。

6. 小总结(口诀)

对比例子

  1. \d+

    • 在 c++ 里要写成 "\\d+"

    • 匹配:123420

  2. (\d+)_\d+$

    • 在 c++ 里要写成 "(\\d+)_\\d+$"

    • 匹配:123_456

    • 捕获组1 = 123

  3. ^abc$

    • 只能匹配 "abc",因为必须开头是 a,结尾是 c,且不能多也不能少。

总结 

到此这篇关于正则表达式中(), +, $, \, \\的含义和区别的文章就介绍到这了,更多相关正则表达式(), +, $, \, \\区别内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!

(0)

您想发表意见!!点此发布评论

推荐阅读

鸿蒙中正则表达式的两种实现方式

09-07

正则表达式相关知识点图文详解

09-07

一篇文章带你彻底搞定正则表达式(前端必备)

09-07

MySQL实现批量替换与正则替换字符串的完整实战

09-08

C# 正则表达式从入门到实战指南

09-02

C#正则表达式从入门到实战完全指南

09-10

猜你喜欢

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论