正则表达式中的 [] 与 ()


1. 圆括号 ()

圆括号在正则表达式中表示的概念,主要应用于限制多选结构的范围、分组、捕获文本、环视。

1.1 示例:多选结构

(a|b|c):匹配 ab1c

1.2 示例:分组

(abc)?:匹配 abc 一次或者零次

1.3 示例:捕获文本

(aaa)(bbb)(ccc)(?:ddd)(eee):可以用 $1 获取 (aaa) 匹配到的内容,用 $3 则获取到了 (ccc) 匹配到的内容,而 $4 则获取的是由 (eee) 匹配到的内容

1.4 示例:环视

a(?=bbbbb):顺序环视,表示 a 后面必须紧跟 5 个连续的 b


2. 方括号 []

方括号在正则表达式中用于单个匹配,可用于字符集、排除字符集之中。

2.1 示例:字符集

[0-9]:表示此位置上的字符只能是 09 这十个数字

圆括号可以匹配多个连续的字符,而一对方括号只能匹配单个字符

2.2 示例:排除字符集

[^0-3]:表示此位置上的字符不可以是 03


3. 对比

  • () 的内容表示一个子表达式() 本身不匹配任何字符,也不限制匹配任何字符,只是把括号内的内容作为同一个表达式来处理

    • (ab){1,3}:表示 ab 一起连续出现最少 1 次,最多 3 次
  • [] 表示匹配的字符在 [],并且只能出现一次,并且特殊字符写在 [] 会被当成普通字符来匹配
    • [(a)]:匹配 (a)这三个字符

正则表达式中的 [] 与 ()相关推荐

  1. 正则表达式中的*,+,?以及\w和\W的区别等常见问题的总结

    正则表达式中的*,+,?以及\w和\W的区别等常见问题的总结_wl_ss的博客-CSDN博客 正则表达式中的*,+,?以及\w和\W的区别等常见问题的总结_wl_ss的博客-CSDN博客 正则表达式中 ...

  2. 小tips:JS之按位取反,语法标签label,正则表达式中replace的0,1是什么?

    JS按位取反 Javascript 按位取反运算符 (~) ,对一个表达式执行位非(求非)运算.如 ~1 = -2; ~2 = -3; 来看看~1的计算步骤: 将1(这里叫:原码)转二进制 = 000 ...

  3. 正则表达式中grep,sed的用法(包括基本的正则表达式和扩展的正则表达式)

    一 正则表达式   Basic REGEXP:基本正则表达式 Extended REGEXP:扩展正则表达式 (正则表达式是使得计算机变成智能化的重要途径) 1.1 基本正则表达式 . : 表示匹配任 ...

  4. 正则表达式中的非捕获组是什么?

    非捕获组(即(?:) )如何在正则表达式中使用,它们有什么用? #1楼 在复杂的正则表达式中,您可能会希望使用大量的组,其中一些用于重复匹配,而另一些则提供反向引用. 默认情况下,与每个组匹配的文本会 ...

  5. 定义一个圆类java用echo_正则表达式中圆括号的作用

    圆括号在正则表达式中有着十分重要的作用. 在shell中的圆括号和正则中的圆括号是有区别的.在shell中圆括号意味着进程替换,比如  (var=1)表示在子shell(子进程)中创建变量var并赋值 ...

  6. 正则表达式中模式修正符作用详解(i、g、m、s、x、e)

    正则表达式中常用的模式修正符有i.g.m.s.x.e等.它们之间可以组合搭配使用. 它们的作用如下: //修正符:i 不区分大小写的匹配; //如:"/abc/i"可以与abc或a ...

  7. Java 正则表达式中为什么反斜杠“\“需要用“\\\\”表示

    正则表达式语法 在其他语言中,\\(两个斜杠) 表示:我想要在正则表达式中插入一个普通的(字面上的)反斜杠,请不要给它任何特殊的意义. 在 Java 中,\\ (两个斜杠)表示:我要插入一个正则表达式 ...

  8. 正则表达式中的小括号用法

    小括号中的连续字符作为可选: "Nov" -match "\bNov(ember)?\b"  返回true    "November" -m ...

  9. Python字符串和正则表达式中的反斜杠(‘\‘)问题

    在Python普通字符串中 在Python中,我们用''来转义某些普通字符,使其成为特殊字符,比如 In [1]: print('abc\ndef') # '\n'具有换行的作用 abc defgIn ...

  10. python正则表达式中的转义字符_详解python中正则表达式的反斜线的转义功能

    最近深入研读了正则表达式的一本经典著作,对于在python中使用正则表达式时使用反斜线转义功能时有些心得,特与大家分享. 核心思想:在python中使用正则表达式时要切记反斜线具有两层转义功能,如果你 ...

最新文章

  1. 《JS权威指南学习总结--开始简介》
  2. java类与对象_Java类与对象
  3. mysql下载备份数据库命令行,如何从MariaDB数据库备份和还原命令行
  4. 放弃Windows,用国产开源替换政府办公系统!这个国家做到了
  5. 前端学习(903):js同步和异步
  6. C#操作SQLite数据库
  7. docker安装消息队列延时插件
  8. 履带式机器人与轮式机器人的异同分析
  9. 软件行业选择大公司还是小公司
  10. Tensorboard 安装及使用
  11. Fiddler4 抓取Chrome浏览器的Http(s)
  12. matlab做经济地理、地理距离、经济距离空间权重矩阵
  13. python办公自动化(入门)
  14. PetaLinux学习笔记 3
  15. virtualbox窗口和win10窗口切换
  16. 判断三点方向(顺时针或逆时针)
  17. elasticsearch搜索推荐系列(二)之 java实现中文转化为拼音与简称
  18. Parallels Desktop 16 Mac版怎么样?Parallels Desktop 16 For Mac评估
  19. 怎样通俗易懂地解释内卷是什么意思?
  20. 流体力学-----动量方程的推导和理解---NS方程

热门文章

  1. 世界php占比,我国2017年GDP占世界比重15% 稳居世界第二
  2. 太原理工大学软件学院 数据库实验 实验二(2021.4.8)
  3. WOW64 IsWow64Process GetNativeSystemInfoWindows System32 SysWOW64
  4. 最新URL短网址在线生成工具分享
  5. Android第三方模拟器使用:bluestracks和Genymotion
  6. 经典诺基亚游戏Rapid-Roll SDL2实现
  7. 西湖论剑预选赛Misc第二题Write-UP
  8. 【慕伏白教程】在Vmware中安装Ubuntu流程
  9. HVR实战----Oracle数据库之间的简单同步
  10. excel导出时数据量过大怎么办