正则表达式之子表达式 ‘()’ 中表达式 '[]' 大表达式 '{}'
什么是正则表达式:用来在一段不定字符、不定长度、具有简单规律的字符串中进行字符匹配的按照一定结构书写的表达式
什么事子表达式:'()' 代表一个子表达式,将其中的内容视为一个整体进行处理。
子表达式是一个大的表达式的一部分,把一个表达式划分为多个子表达式的目的是为了把那些子表达式当作一个独立的元素来使用。子表达式必须用(和)括起来。
子表达式中可以嵌套子表达式,理论上可以无限嵌套。
子表达式中可以嵌套中表达式,将嵌套的所有中表达式作为一个整体进行匹配,同时满所有个中表达式条件即为匹配成功。
什么是中表达式:'[]' 代表一个中表达式,将其中内容于字符串中每一个字符进行匹配,匹配条件为 '[]' 中的内容。
中表达式中可以嵌套子表达式,将嵌套的子表达式作为条件进行匹配,满足任意一个子表达式中的条件即为匹配成功。
什么事大表达式:'{}' 代表一个大表达式,将其中内容于字符串进行匹配,用于长度匹配
'{a,b}' 取前方一个子表达式(或一个字符)。当出现第 a 此后,开始从第一次出现的位置匹配,每次匹配长度为 b
'{a,}' 取前方一个子表达式(或一个字符)。当出现第 a 此后,开始从第一次出现的位置匹配,每次匹配至不满足条件
'{a}' 取前方一个子表达式(或一个字符)。当出现第 a 此后,开始从第一次出现的位置匹配,每次匹配长度为 a
文本:Your operation systemis Windows 2000.
正则表达式:nbsp;{2,}
结果:Your operation systemis Windows 2000.
分析:这里使用模式想匹配2个或2个以上的非换行空格,但是从结果可以看出,没有匹配到任何东西,因为nbsp;{2,}这个模式只能匹配到像nbsp;;;;;;;这样以nbsp开头,2个或2个以上连续分号的文本。因为重复匹配都是紧挨着重复匹配元字符之前的那个字符的多次重复。
正则表达式:(nbsp;){2,}
分析:将 (nbsp;) 作为一个整体进行匹配,条件为 (nbsp;) 连续两次出现。
文本:1988-03-11
正则表达式:[0-9][0-9]
分析:
中表达式 [0-9] :匹配 '0-9' 中所有数字
[0-9][0-9]:同时两项满足 '0-9'
合并起来即为:匹配字符串中,条件为 '0-9' 的连续两项
结果:19 88 03 11
文本:1988-03-11
正则表达式:[0-9]|[0-9]
分析:
中表达式 [0-9] :匹配 '0-9' 中所有数字
|:或符号
合并起来即为:匹配字符串中,条件为 '0-9' 或 '0-9' 的所有项
结果:1 9 8 8 0 3 1 1
文本:1988-03-11
正则表达式:(19|20)\d{2}
分析:
子表达式 (19|20) :满足开头为 '19' 或 '20' 的匹配项
\d:匹配所有数字
{2}:前一个表达式连续两次出现
合并起来即为:匹配字符串中,条件为 '19' 或 '20' 开头且连续出现两次的所有数字项
结果:1988
转载于:https://www.cnblogs.com/Z-onee/p/6636325.html
正则表达式之子表达式 ‘()’ 中表达式 '[]' 大表达式 '{}'相关推荐
- (解决)除非另外还指定了 TOP、OFFSET 或 FOR XML,否则,ORDER BY 子句在视图、内联函数、派生表、子查询和公用表表达式中无效Mybatis-plus 默认分页功能报错
(解决)除非另外还指定了 TOP.OFFSET 或 FOR XML,否则,ORDER BY 子句在视图.内联函数.派生表.子查询和公用表表达式中无效Mybatis-plus 默认分页功能报错 我百度了 ...
- Py正则表达式学习笔记:特殊字符——中括号表达式、限定符表达式
中括号表达式 中括号表达式的核心作用是表示范围.有三种用法 (1)区间范围 [a-z]表示所有小写字母 [A-Z]表示所有大写字母 [0-9]表示数字 比固定表达式\w.\d更加灵活,可以调整范围 例 ...
- Go 学习笔记(62)— Go 中 switch 语句中的 switch 表达式和 case 表达式之间的关系
switch 语句对 switch 表达式的结果类型,以及各个 case 表达式中子表达式的结果类型都是有要求的. 毕竟,在 Go 语言中,只有类型相同的值之间才有可能被允许进行判等操作. 1. sw ...
- JSP中是EL表达式与JSTL
EL语法:${ } EL取值来自于作用域对象 1.如何从指定作用域取值(默认从最小作用域取值) pageScope.requestScope.sessionScope.applicationScope ...
- 探索Java语言与JVM中的Lambda表达式
2019独角兽企业重金招聘Python工程师标准>>> 转载来源:http://www.admin10000.com/document/1291.html Lambda表达式是自Ja ...
- 什么是C ++ 11中的lambda表达式?
本文翻译自:What is a lambda expression in C++11? What is a lambda expression in C++11? 什么是C ++ 11中的lambda ...
- 如何在一个表达式中合并两个字典?
我有两个Python字典,我想编写一个返回合并的这两个字典的表达式. 如果update()方法返回其结果而不是就地修改dict,则将是我需要的方法. >>> x = {'a': 1, ...
- C语言表达式和运算符大学霸IT达人
C语言表达式和运算符大学霸IT达人 C语言中表达式会包含常量.标识符.运算符.最基础最简单的表达式就是常量表达式.单独的常量表达式是没有意义的.例如,3就是一个常量表达式,单独放在一处没有实际的意义. ...
- spring中的spel表达式语言
spring in action第三版读书笔记 spring3.0引入了spring expression language(spel)语言,通过spel我们可以实现 1.通过bean的id对bean ...
最新文章
- curl抓取页面是乱码 php_php curl 获取网页内容 中文乱码
- vector机器人 HOW TO CHARGE VECTOR 如何给矢量充电
- python turtle画气球-如何用python的装饰器定义一个像C++一样的强
- 凭证 90000000 保存(帐户确定出错)
- 云服务centos搭建jupyter notebook并通过外网访问
- MFC列表控件ListControl和树控件TreeControl
- 不要为框架作过多的假设
- 在计算机上收回光驱快捷键,如何使用Windows键盘快捷键打开光盘驱动器
- 解决win2003安装exchangeServer后关机慢的方法
- python基础-02
- eDiary电子日记本
- Android网络类型判断(2g、3g、wifi)
- 【翻译】Brewer's CAP Theorem CAP定理
- 《矩阵分析》Ⅳ——三对角矩阵的追赶法matlab实现
- auto_ptr 源码 极其解析
- (1)深度学习_梯度下降与优化
- VS2013下载网址及破解注册码
- php uchome,Uchome1.2 1.5 代码学习 common.php
- 投资理财之基金二:购买基金的渠道
- ArcGIS二次开发基础教程(01):打开mxd文件,添加(.shp),(.lyr),(.mdb),(.tif;.img)等多种类型数据