正则表达式中的 [] 与 ()
正则表达式中的 [] 与 ()
1. 圆括号 ()
圆括号在正则表达式中表示组的概念,主要应用于限制多选结构的范围、分组、捕获文本、环视。
1.1 示例:多选结构
(a|b|c)
:匹配 a
或 b1
或 c
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]
:表示此位置上的字符只能是 0
到 9
这十个数字
圆括号可以匹配多个连续的字符,而一对方括号只能匹配单个字符
2.2 示例:排除字符集
[^0-3]
:表示此位置上的字符不可以是 0
到 3
3. 对比
()
的内容表示一个子表达式,()
本身不匹配任何字符,也不限制匹配任何字符,只是把括号内的内容作为同一个表达式来处理- 例
(ab){1,3}
:表示ab
一起连续出现最少 1 次,最多 3 次
- 例
[]
表示匹配的字符在[]
中,并且只能出现一次,并且特殊字符写在[]
会被当成普通字符来匹配- 例
[(a)]
:匹配(
、a
、)
这三个字符
- 例
正则表达式中的 [] 与 ()相关推荐
- 正则表达式中的*,+,?以及\w和\W的区别等常见问题的总结
正则表达式中的*,+,?以及\w和\W的区别等常见问题的总结_wl_ss的博客-CSDN博客 正则表达式中的*,+,?以及\w和\W的区别等常见问题的总结_wl_ss的博客-CSDN博客 正则表达式中 ...
- 小tips:JS之按位取反,语法标签label,正则表达式中replace的0,1是什么?
JS按位取反 Javascript 按位取反运算符 (~) ,对一个表达式执行位非(求非)运算.如 ~1 = -2; ~2 = -3; 来看看~1的计算步骤: 将1(这里叫:原码)转二进制 = 000 ...
- 正则表达式中grep,sed的用法(包括基本的正则表达式和扩展的正则表达式)
一 正则表达式 Basic REGEXP:基本正则表达式 Extended REGEXP:扩展正则表达式 (正则表达式是使得计算机变成智能化的重要途径) 1.1 基本正则表达式 . : 表示匹配任 ...
- 正则表达式中的非捕获组是什么?
非捕获组(即(?:) )如何在正则表达式中使用,它们有什么用? #1楼 在复杂的正则表达式中,您可能会希望使用大量的组,其中一些用于重复匹配,而另一些则提供反向引用. 默认情况下,与每个组匹配的文本会 ...
- 定义一个圆类java用echo_正则表达式中圆括号的作用
圆括号在正则表达式中有着十分重要的作用. 在shell中的圆括号和正则中的圆括号是有区别的.在shell中圆括号意味着进程替换,比如 (var=1)表示在子shell(子进程)中创建变量var并赋值 ...
- 正则表达式中模式修正符作用详解(i、g、m、s、x、e)
正则表达式中常用的模式修正符有i.g.m.s.x.e等.它们之间可以组合搭配使用. 它们的作用如下: //修正符:i 不区分大小写的匹配; //如:"/abc/i"可以与abc或a ...
- Java 正则表达式中为什么反斜杠“\“需要用“\\\\”表示
正则表达式语法 在其他语言中,\\(两个斜杠) 表示:我想要在正则表达式中插入一个普通的(字面上的)反斜杠,请不要给它任何特殊的意义. 在 Java 中,\\ (两个斜杠)表示:我要插入一个正则表达式 ...
- 正则表达式中的小括号用法
小括号中的连续字符作为可选: "Nov" -match "\bNov(ember)?\b" 返回true "November" -m ...
- Python字符串和正则表达式中的反斜杠(‘\‘)问题
在Python普通字符串中 在Python中,我们用''来转义某些普通字符,使其成为特殊字符,比如 In [1]: print('abc\ndef') # '\n'具有换行的作用 abc defgIn ...
- python正则表达式中的转义字符_详解python中正则表达式的反斜线的转义功能
最近深入研读了正则表达式的一本经典著作,对于在python中使用正则表达式时使用反斜线转义功能时有些心得,特与大家分享. 核心思想:在python中使用正则表达式时要切记反斜线具有两层转义功能,如果你 ...
最新文章
- 《JS权威指南学习总结--开始简介》
- java类与对象_Java类与对象
- mysql下载备份数据库命令行,如何从MariaDB数据库备份和还原命令行
- 放弃Windows,用国产开源替换政府办公系统!这个国家做到了
- 前端学习(903):js同步和异步
- C#操作SQLite数据库
- docker安装消息队列延时插件
- 履带式机器人与轮式机器人的异同分析
- 软件行业选择大公司还是小公司
- Tensorboard 安装及使用
- Fiddler4 抓取Chrome浏览器的Http(s)
- matlab做经济地理、地理距离、经济距离空间权重矩阵
- python办公自动化(入门)
- PetaLinux学习笔记 3
- virtualbox窗口和win10窗口切换
- 判断三点方向(顺时针或逆时针)
- elasticsearch搜索推荐系列(二)之 java实现中文转化为拼音与简称
- Parallels Desktop 16 Mac版怎么样?Parallels Desktop 16 For Mac评估
- 怎样通俗易懂地解释内卷是什么意思?
- 流体力学-----动量方程的推导和理解---NS方程
热门文章
- 世界php占比,我国2017年GDP占世界比重15% 稳居世界第二
- 太原理工大学软件学院 数据库实验 实验二(2021.4.8)
- WOW64 IsWow64Process GetNativeSystemInfoWindows System32 SysWOW64
- 最新URL短网址在线生成工具分享
- Android第三方模拟器使用:bluestracks和Genymotion
- 经典诺基亚游戏Rapid-Roll SDL2实现
- 西湖论剑预选赛Misc第二题Write-UP
- 【慕伏白教程】在Vmware中安装Ubuntu流程
- HVR实战----Oracle数据库之间的简单同步
- excel导出时数据量过大怎么办