------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------

正则表达式

一、概念

符合一定规则的表达式,用于专门操作字符串,可以简化对字符串的复杂操作,主要用于一些特定的符号来表示一些代码操作。

二、常见符号

2.1字符

x                  字符 x

\\                 反斜线字符

\t                 制表符 ('\u0009')

\n                 新行(换行)符 ('\u000A')

\r                 回车符 ('\u000D')

\f                 换页符 ('\u000C')

\a                 报警 (bell) 符 ('\u0007')

2、字符类

[abc]                    a、b或 c(简单类)

[^abc]                 任何字符,除了 a、b或 c(否定)

[a-zA-Z]               a到 z或 A 到 Z,两头的字母包括在内(范围)

[a-d[m-p]]            a到 d或 m 到 p:[a-dm-p](并集)

[a-z&&[def]]               d、e或 f(交集)

[a-z&&[^bc]]        a到 z,除了 b和 c:[ad-z](减去)

[a-z&&[^m-p]]     a到 z,而非 m到 p:[a-lq-z](减去)

3、预定义字符类

.                         任何字符(与行结束符可能匹配也可能不匹配)

\d                        数字:[0-9]

\D                       非数字: [^0-9]

\s                        空白字符:[ \t\n\x0B\f\r]

\S                       非空白字符:[^\s]

\w                       单词字符:[a-zA-Z_0-9]

\W                      非单词字符:[^\w]

4、边界匹配器

^                         行的开头

$                         行的结尾

\b                        单词边界

\B                       非单词边界

\A                       输入的开头

\G                       上一个匹配的结尾

\Z                       输入的结尾,仅用于最后的结束符(如果有的话)

\z                        输入的结尾

5、Greedy数量词

X?                       X,一次或一次也没有

X*                       X,零次或多次

X+                       X,一次或多次

X{n}                    X,恰好 n次

X{n,}                   X,至少 n次

X{n,m}                X,至少 n次,但是不超过 m 次

6、组和捕获

捕获组可以通过从左到右计算其开括号来编号。例如,在表达式 ((A)(B(C)))中,存在四个这样的组:

1     ((A)(B(C)))

2     \A

3     (B(C))

4     (C)

组零始终代表整个表达式。在替换中常用$匹配组的内容。

切割:利用String类中的String[]  sqlit(String  regex)方法来切割字符串

说明:

按叠词完成切割:为了让规则被重用,可将规则封装成一个组,用()完成。组的出现都有编号,从1开始。想要使用已有的组可通过\n(n就是组的编号)的形式来获取。

对于组中所匹配的字符,可以用$n来获取。$在正则中表示行的结尾,所以出现在正则中不能用来表示组,一般用于替换中。如下面功能中。

三、替换: String replaceAll(String regex,String replacement)方法。

四、获取:将字符串中的符合规则的子串取出。

操作步骤:

(1)将正则表达式封装成对象。

(2)让正则对象和要操作的字符串相关联。

(3)关联后,获取正则匹配引擎。

(4)通过引擎对符合规则的子串进行操作,比如取出。

五、四种功能的选择(思路方式):

(1)如果只想知道该字符是否对是错,使用匹配。

(2)想要将已有的字符串变成另一个字符串,替换。

(3)想要按照自定的方式将字符串变成多个字符串。切割。获取规则以外的子串。

(4)想要拿到符合需求的字符串子串,获取。获取符合规则的子串。

转载于:https://www.cnblogs.com/kvietaword/p/4535787.html

黑马程序员——11 正则表达式相关推荐

  1. 黑马程序员--JavaJAVA 正则表达式 (超详细)

    -------android培训.java培训.期待与您交流! ---------- 在Sun的Java JDK 1.40版本中,Java自带了支持正则表达式的包,本文就抛砖引玉地介绍了如何使用jav ...

  2. 黑马程序员——Java正则表达式

    正则表达式 两类:Pattern模式类和Matcher匹配类                Pattern主要是用来编译模型和生成匹配器matcher: 正则表达式基本方法               ...

  3. 黑马程序员_MongoDB笔记

    根据黑马程序员的课程资料整理所得,仅用于学习使用,如有侵权,请联系删除 1.MongoDB简单介绍 1.1 MongoDB应用场景 应对三高需求 High performance - 对数据库高并发读 ...

  4. 解析python网络爬虫pdf 黑马程序员_正版 解析Python网络爬虫 核心技术 Scrapy框架 分布式爬虫 黑马程序员 Python应用编程丛书 中国铁道出版社...

    商品参数 书名:Python应用编程丛书:解析Python网络爬虫:核心技术.Scrapy框架.分布式爬虫 定价:52.00元 作者:[中国]黑马程序员 出版社:中国铁道出版社 出版日期:2018-0 ...

  5. 远程字典服务Redis,感谢B站黑马程序员,多多三连

    目录 1.数据存储的解决方案(电商场景) 2.远程字典服务Redis介绍 2.1 基本操作 2.2 数据存储类型 3.数据类型 3.1 string 3.1.1 string类型数据基本操作 3.1. ...

  6. 从零学python黑马程序员_Python实战编程--从零学Python/Python应用编程丛书

    导语 内容提要 黑马程序员编著的<Python实战编程--从零学Python>涵盖了Python开发的核心知识.其中,第1-13章主要讲解的是Python的核心语法,包括基本概念和语句.风 ...

  7. [学习笔记]黑马程序员python教程

    文章目录 思维导图 Python基础知识图谱 面向对象 SQL入门和实战 Python高阶技巧 第一阶段 第九章:Python异常.模块与包 1.9.1异常的捕获 1.9.1.1 为什么要捕获异常 1 ...

  8. Ajax【黑马程序员】

    目录 1.客户端 与 服务器 1.1 服务器:存放和对外提供资源 1.2 客户端:获取和消费资源 ​编辑 2.URL地址 2.1 URL地址的概念(统一资源定位符) 2.2 URL地址的组成部分 ① ...

  9. 黑马程序员Java教程学习笔记(五)

    学习视频:https://www.bilibili.com/video/BV1Cv411372m 如侵权,请私信联系本人删除 文章目录 黑马程序员Java教程学习笔记(五) 日期时间:Date.Sim ...

最新文章

  1. 压缩感知的阶段性总结
  2. activemq ActiveMQ 两个默认端口 8161和61616的区别
  3. Struts2中action接受参数方法
  4. art-template模板引擎详解
  5. 腾讯与字节跳动罕见“合作”:企业微信在抖音投放广告
  6. 1,3-丁二烯(BD)行业调研报告 - 市场现状分析与发展前景预测
  7. eclipse里启动rabbitmq报错 java.net.SocketException: Connection reset
  8. java设计模式之模板方法模式(Template Method)
  9. Creative Cloud Cleaner Tool mac卸载adobe系列软件详细教程
  10. 微信小程序实现蓝牙开门前后端项目(一)
  11. mac电脑谷歌浏览器全屏显示选项卡
  12. 怎么把视频的html格式转换,怎样把一个视频文件转换成MP4的格式
  13. JAVA+MySQL 图书馆借阅信息管理系统
  14. 软件测试的16种测试类型
  15. 2021-11-16 QCustomPlot之柱状图
  16. java多线程心法(基础概念)
  17. Camunda将工作流引擎引入到微服务领域
  18. 闲人闲谈PS之三十一——新收入准则中的合同损失计提
  19. python与大数据是什么_大数据和python有什么区别
  20. SuperMap iClient3D for WebGL教程 粒子特效-扩展喷泉特效

热门文章

  1. 别再说PHP已死了,它活得好着呢
  2. 从《黎明杀机》看非对称对抗游戏的魅力
  3. 有关一百以内数字的Python算法
  4. 一天学完spark的Scala基础语法教程九、迭代器(idea版本)
  5. 大学的软件测试怎么学
  6. /dev/null 2>1 详解
  7. MySQL数据库SYS CPU高的可能性分析
  8. 在11g中alter system set recyclebin = off 报错 recyclebin 参数在11g和10g中的区别
  9. Kubernetes容器集群 - harbor仓库高可用集群部署说明
  10. 人生影响最大的三位老师