正则表达式是一种可以用于模式匹配和替换的规范,一个正则表达式就是由普通的字符(例如字符a到z)以及特殊字符(元字符)组成的文字模式,

它 用以描述在查找文字主体时待匹配的一个或多个字符串。正则表达式作为一个模板,将某个字符模式与所搜索的字符串进行匹配。

在程序开发中,难免会遇到需要匹配、查找、替换、判断字符串的情况发生,而这些情况有时又比较复杂,如果用纯编码方式解决,往往会浪费程序员的时间及精力。

因此,学习及使用正则表达式,便成了解决这一矛盾的主要手段。

*下面是java中正则表达式常用的语法:

字符的取值范围

1.[abc] : 表示可能是a,可能是b,也可能是c。

2.[^abc]: 表示不是a,b,c中的任意一个

3.[a-zA-Z]: 表示是英文字母

4.[0-9]:表示是数字

简洁的字符表示

.:匹配任意的字符

\d:表示数字

\D:表示非数字

\s:表示由空字符组成,[ \t\n\r\x\f]

\S:表示由非空字符组成,[^\s]

\w:表示字母、数字、下划线,[a-zA-Z0-9_]

\W:表示不是由字母、数字、下划线组成

数量表达式

1.?: 表示出现0次或1次

2.+: 表示出现1次或多次

3.*: 表示出现0次、1次或多次

4.{n}:表示出现n次

5.{n,m}:表示出现n~m次

6.{n,}:表示出现n次或n次以上

逻辑表达式

1.XY: 表示X后面跟着Y,这里X和Y分别是正则表达式的一部分

2.X|Y:表示X或Y,比如"food|f"匹配的是foo(d或f),而"(food)|f"匹配的是food或f

3.(X):子表达式,将X看做是一个整体

java中提供了两个类来支持正则表达式的操作

分别是java.util.regex下的Pattern类和Matcher类

使用Pattern类进行字符串的拆分,使用的方法是String[] split(CharSequence input)

使用Matcher类进行字符串的验证和替换,

匹配使用的方法是boolean matches()

替换使用的方法是 String replaceAll(String replacement)

Pattern类的构造方法是私有的

所以我们使用Pattern p = Pattern.compile("a*b");进行实例化

Matcher类的实例化依赖Pattern类的对象Matcher m = p.matcher("aaaaab");

在实际的开发中,为了方便我们很少直接使用Pattern类或Matcher类,而是使用String类下的方法

验证:boolean matches(String regex)

拆分: String[] split(String regex)

替换: String replaceAll(String regex, String replacement)

java 正则表达式 s_正则表达式 java相关推荐

  1. ip的正则表达式 java,项目实战:Java正则表达式验证IP地址

    IP 地址是网络上每台计算机的唯一标识,因此 IP 地址的错误输入将使程序无法运行.下面使用前面学习的正则表达式知识,编写一个 Java 程序来验证 IP 地址是否合法. 在定义正则表达式之前,首先要 ...

  2. Java编程之正则表达式

    为什么80%的码农都做不了架构师?>>>    什么是正则表达式? 正则表达式就是人为的定义一些规则,希望计算机按照我们制定的规则执行.正则表达式主要用于操作字符串 java.uti ...

  3. java 网络爬虫 正则表达式_【干货】Java网络爬虫基础知识

    原标题:[干货]Java网络爬虫基础知识 引言 Java 网络爬虫具有很好的扩展性可伸缩性,其是目前搜索引擎开发的重要组成部分.例如,著名的网络爬虫工具 Nutch 便是采用 Java 开发,该工具以 ...

  4. java 风格的正则表达式 vs Perl风格的正则表达式

    java风格的正则表达式 1.^\d+$ //匹配非负整数(正整数 + 0) 2.^[0-9]*[1-9][0-9]*$ //匹配正整数 3.^((-\d+)|(0+))$ //匹配非正整数(负整数 ...

  5. Java基础:正则表达式

    相关阅读 Java基础:String类 Java字符串格式化 Java基础:正则表达式 1. 正则表达式概述 正则表达式,又称正规表示法.常规表示法(英语:Regular Expression,在代码 ...

  6. java 正则表达式 demo_JAVA正则表达式语法

    JAVA正则表达式语法(转) 正则表达式语法 正则表达式是一种文本模式,包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为"元字符").模式描述在搜索文本时要匹配的一个或 ...

  7. 【Java】7.5 正则表达式 7.6 Java 8 新增的日期、时间格式器

    目录 Pattern类 Matcher类 Java 8 新增的日期.时间格式器 Pattern类 Pattern类的实例是将一个编译好的正则表达式封装起来.因此正则表达式字符串必须先被变异成Patte ...

  8. java js 正则表达式_如何在JavaScript与Java中使用正则表达式

    如何在JavaScript与Java中使用正则表达式 发布时间:2021-02-11 13:16:01 来源:亿速云 阅读:69 作者:Leah 如何在JavaScript与Java中使用正则表达式? ...

  9. java replaceall正则表达式_正则表达式的规则及应用

    第三阶段 JAVA常见对象的学习 正则表达式 (一) 正则表达式概述 (1) 简单概述 就是符合一定规则的字符串. (2) 常见规则 (3) 常见功能 //判断功能 正则表达式是非常强大的,我们通过几 ...

  10. java 中的正则表达式_Java中的正则表达式–软介绍

    java 中的正则表达式 正则表达式是一种可以应用于文本(Java中的String)的模式. Java提供了java.util.regex包,用于与正则表达式进行模式匹配. Java正则表达式与Per ...

最新文章

  1. 中国安防为何世界最强?中科院AI+安防报告,解密8大趋势和8大限制【附下载】| 智东西内参...
  2. Redis与Zookeeper实现分布式锁区别
  3. springboot异步注解_Spring Boot 2 :Spring Boot 中的响应式编程和 WebFlux 入门
  4. P2P技术详解(三):P2P中的NAT穿越(打洞)方案详解(进阶分析篇)
  5. 推荐一款优雅高效的免费在线APP原型工具
  6. join实例 oracle_oracle中join联合查询
  7. matlab图像处理 推荐,Matlab计算机视觉、图像处理工具箱推荐
  8. Java基础问题总结
  9. Ubuntu Server 使用 PPA 安装 Java (JDK) 8
  10. JTAG接口简要介绍
  11. SSM项目实战之二十五:新增订单
  12. java无响应_Java HttpClient请求无响应解决方案
  13. webpack基础知识
  14. iphone icloud无法载入储存空间信息
  15. android2.3原生态铃声,Android中的铃声设置
  16. 机械臂速成小指南(零):指南主要内容及分析方法
  17. 小胖机器人宣传语_智能机器人推广宣传语
  18. 弹性和瞬态故障处理库Polly之重试策略
  19. 斯坦福SCI论文写作课笔记(十三)
  20. 绕过WAF(防火墙)进入网站后台

热门文章

  1. 深度学习《InfoGAN模型》
  2. oracle winxsx 目录,Mac迅雷瘦身精简教程
  3. 脑智前沿科普:脑深部电刺激治疗帕金森病的原理
  4. Coverity 代码静态安全扫描工具 : 认识Coverity
  5. 为什么需要交叉编译器
  6. 在Android的Termux超级终端下进行内网穿透
  7. 英制BSW 美制UNC 螺牙的理解
  8. 网站类项目商业计划书
  9. VMware虚拟机不能连接USB的问题
  10. 《深入浅出WPF》——事件学习