正则表达式及其应用示例
来源:互联网 发布:网络创世纪uo 音乐 编辑:程序博客网 时间:2024/06/06 10:59
正则表达式,又称规则表达式(Regular Expression,在代码中常简写为regex、regexp或RE),是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。
正则表达式的特点:
(1)灵活性、逻辑性和功能性非常的强;
(2)可以迅速地用极简单的方式达到字符串的复杂控制;
(3)对于初学者来说,比较晦涩难懂。
由于正则表达式主要应用对象是文本,因此它在各种文本编辑器场合都有应用,小到著名编辑器EditPlus,大到Microsoft Word、Visual Studio等大型编辑器,都可以使用正则表达式来处理文本内容。
接下来,作者将会介绍正则表达式在Java语言中对字符串的常见操作:
1、匹配
实际上,使用的就是String类中的matches()方式。
2、切割
实际上,使用的就是String类中的split()方式。
3、替换
实际上,使用的就是String类中的replaceAll()方式。
4、获取
将正则表达式进行封装,通过正则对象Pattern(类)的matches方法与字符串进行关联,获取字符串操作的匹配器对象Matcher,再通过Matcher匹配器对象的方法对字符串进行操作。
import java.util.regex.Matcher;import java.util.regex.Pattern;public class RegexApply { public static void main(String[] args) { functionDemo_4(); } /** * 获取 */ public static void functionDemo_4() { String str = "Hi girl, I like you!"; String regex = "\\b[a-z]{3}\\b"; // 将正则表达式封装成对象 Pattern p = Pattern.compile(regex); // 使用Matcher对象的方法对字符串进行操作,为了获取三个字母组成的单词,可以用查找find()方法 Matcher m = p.matcher(str); System.out.println(str); while (m.find()) { // 获取匹配的字符串子序列 System.out.println(m.group()); System.out.println(m.start() + ":" + m.end()); } } /** * 替换 */ public static void functionDemo_3() { // 替换字符串中重叠的字母为单独一个字母 String str = "Harbingggggongyedaxxxxxue"; str = str.replaceAll("(.)\\1+", "$1"); System.out.println(str); // 对手机号进行模糊处理 String tel = "18800001234"; tel = tel.replaceAll("(\\d{3})\\d{4}(\\d{4})", "$1****$2"); System.out.println(tel); } /** * 分割 */ public static void functionDemo_2() { // 以字符串中的重叠字母进行分割 String str = "Harbiniiigongyejjjjdaxue"; String[] names = str.split("(.)\\1+"); for(String name : names){ System.out.println(name); } } /** * 匹配 */ public static void functionDemo_1() { // 验证该手机号是否满足号码规则 String tel = "18800001234"; String regex = "1[358]\\d{9}"; boolean b = tel.matches(regex); System.out.println(tel + ":" + b); }}
2 0
- 正则表达式及其应用示例
- 正则表达式及其应用
- 正则表达式及其应用简介
- 正则表达式及其应用简介
- 正则表达式及其应用简介
- 正则表达式及其应用 - 2
- Js中的正则表达式及其一些应用
- 正则表达式及其在python上的应用
- .NET下正则表达式应用的四个示例
- .NET下正则表达式应用的四个示例
- .NET下正则表达式应用的四个示例
- .NET下正则表达式应用的四个示例
- .NET下正则表达式应用的四个示例
- .NET下正则表达式应用的四个示例
- .NET下正则表达式应用的四个示例
- .NET下正则表达式应用的四个示例
- .NET下正则表达式应用的四个示例
- ASP.NET下不错的正则表达式应用示例
- Dojo1.11官方教程文档翻译(4.7)Deferred入门
- HUD - 1575 - Tr A ( 矩阵快速幂,简单题目 )
- 关于进不去android查看DDMS里的数据库问题
- poj 2002 Squares(hash)
- 商业化外骨骼对比
- 正则表达式及其应用示例
- 如何在mac系统下搭建git服务器
- spring aop中的propagation的7种配置的意思
- 第15周 oj Problem L: 字符串替换(串)
- 斐波那契之兔子问题解释
- neo4j 下载地址 以及手册下载地址
- Leveldb 实现原理
- 畅通工程
- bzoj 2500 幸福的道路 dfs 单调队列