#软件构造 Java中的正则
一些基础的正则表达式
符号 | 含义 |
---|---|
AB | 表示A与B的连接 |
A | B |
A* | 表示A的克林闭包,即出现0次或多次 |
A+ | 表示A的非零闭包,即出现1次或多次 |
A? | 表示A出现0次或1次 |
A{n} | 表示A正好出现n次,n 是非负整数 |
A{n,m} | 表示A出现n次到m次之间,n ,m是非负整数 |
\ ( | 转义字符,匹配( |
A+? | ?表示非贪心的匹配模式,紧随限定符:(*、+、?、{n}、{n,}、{n,m})匹配搜索到的、尽可能短的字符串 |
优先级:
优先级 | 符号 |
---|---|
1 | *,?,+ |
2 | 连接 |
3 | 或 |
字符集
符号 | 含义 |
---|---|
[ABC] | 匹配包含的任一字符,[ABC]“匹配"Apple"中的"A” |
[^ABC] | 不匹配包含的任一字符,[ABC]“匹配"Apple"中的"pple”,而不匹配“A” |
[a-z] | 字符范围。匹配指定范围内的任何字符 |
[^a-z] | 反向范围字符。匹配不在指定的范围内的任何字符 |
(pattern) | 匹配 pattern 并捕获该匹配的子表达式 常用于捕获 |
(?:pattern) | 匹配 pattern 但不捕获该匹配的子表达式 |
(?=pattern) | 执行正向预测先行搜索的子表达式,比如Windows (?=2000) 匹配 Windows |
(?!pattern) | 执行反向预测先行搜索的子表达式, |
一些特殊的预定符
符号 | 含义 |
---|---|
. | 匹配任意字符1次 |
\d | [0-9] |
\D | [^0-9] |
\s | 空白符[ \t\n\x0B\f\r] |
\S | 非空白符[^\s] |
\w | 一个字母[a-zA-Z_0-9] 包括下划线 |
\W | 不是一个字母[^\w] |
边界词
符号 | 含义 |
---|---|
^ | 一行字符串的开始 |
$ | 一行字符串的结尾 |
\b | 单词边界 |
\B | 非单词边界 |
\A | 输入的开始 |
\G | 上次匹配结束位置 |
\Z | 输入的结束位置,不含结束符 |
\z | 输入的结束位置 |
#软件构造 Java中的正则相关推荐
- 1-1 软件构造过程中的多维视图
本节目标: 本节大纲: 随着时间的推移,人们对软件的认识的变化: 软件不能脱离外部环境: 软件构造的多个维度: 时间:瞬时(某一天某个时间点).周期(变化情况) 编码:构建开发(代码的结构.多少类.类 ...
- 【软件构造-java编写】生成50道100以内加法/减法算式的习题,并输出。(和不能超过100,差不能小于0)
原题 (论述题) 生成50道100以内加法/减法算式的习题,并输出. (1)每个算式还需要答案: (2)加法算式的和不能超过100: (3)减法算式的差不能小于0: (4)每行整齐地多显示几个算式,不 ...
- java中的正则matches方法和find方法的区别
Java 正则表达式里find()方法的使用 package com.zte.st.dailybuild.dao;import java.util.regex.Matcher; import java ...
- java中 a-zA-z_Java正则字符类[a-zA-Z]匹配
字符类[a-zA-Z]匹配从a到z或A到Z的任何字符. 示例 以下示例显示了字符类匹配的用法. package com.yiibai; import java.util.regex.Matcher; ...
- java中使用正则匹配所有标点符号
if (endStr.matches("[\\pP\\p{Punct}]"))
- 2021-07-02软件构造学习中遇到的问题
疑问: 这张图的意思是不是说,前面定义了一个变量的引用类型,为Animal:后面赋给这个变量实质的实例类型,为Horse. 但是他的类型还是算Animal?? 结论:经过验证确实算Animal 并且: ...
- 软件构造学习笔记-第八周
本周重点是Liskov可替换原则.它要求父类和子类的行为一致性,子类要有更强的不变量.更弱的前置条件.更强的后置条件.在该原则的要求下,每个子类都可以对父类进行替换.这在开发过程中会带来极大的便利,在 ...
- (2019春)软件构造:雨课堂试卷(一)
文章目录 0-1 试一试Java 单选题 第1题 1分 单选题 第2题 1分 单选题 第3题 1分 单选题 第4题 1分 单选题 第5题 1分 1.1 软件构造的多维度视图 单选题 第1题 1分 单选 ...
- 软件构造学习笔记(九)面向复用的软件构造技术
目录链接 Part I What is Software Reuse? Part II How to measure "reusability"? Part III Levels ...
最新文章
- DataPipeline |《Apache Kafka实战》作者胡夕:Apache Kafka监控与调优
- ubuntu上使用cron执行定时任务计划
- mac终端mysql的字符集_mac下修改mysql默认字符集为utf8
- Fragment创建添加切换和对应底部导航(二)
- 美团和支付宝大战在所难免
- mysql驱动rpm和jar_mysql5.7.11对应的JDBC驱动是哪个版本
- 设计干货 | 时尚简约海报模板
- Atlassian Confluence安装以及如何更改数据库
- CentOS安装第三方yum源EPEL
- Ansys Maxwell三相变压器制作方法教程
- MATLAB 正态分布点云配准(NDT)
- word 宏命令 表头与图名的设置
- 数值优化——牛顿迭代法求解函数零点
- angular Meterial错误 Did you add it to @NgModule.entryComponents
- 康师傅矿物质水黑幕:水源竟是自来水
- OpenGL法线贴图
- 微商如何玩?微客巴巴告诉你10条超级干货!-“纯情年代”
- 华为服务器销售怎么样,云服务器销售好做吗
- 手机拍会议照片技巧_在家工作时进行视频会议的12个技巧
- 云麦体脂秤华为体脂秤_华为智能体脂秤(蓝牙版),会是良心之选吗?