java正则表达式四种常用的处理方式是怎么样呢《匹配、分割、代替、获取》
java 正则表达式高级篇,介绍四种常用的处理方式:匹配、分割、替代、获取,具体内容如下
package test;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/**
* 正则表达式
* 正则表达式 的用法主要是4种方面的使用
* 匹配,分割,替换,获取.
* 用一些简单的符号来代表代码的操作
* @author cyc
*
*/
public class Rex {
public static void main(String[] args) {
//针对字符串处理
Rex reg = new Rex();
//校验qq的reg正则表达式
//这里的\w 是指的是[a-zA-Z0-9],还有一个重要的是?,*.+这三个分别
//?表示出现1次或者1次都没有,
//+表示出现1次或者n次,
//*表示出现0次或者n次,
//还有些特殊的写法X{n}恰好n次X{n,}至少n次,X{n,m}n次到m次,
String mathReg = "[1-9]\\d{4,19}";
String divisionReg = "(.)\\1+";
//\\b 是指的边界值
String getStringReg = "\\b\\w{3}\\b";
//字符串匹配(首位是除0 的字符串)
reg.getMatch("739295732",mathReg);
reg.getMatch("039295732",mathReg);
//字符串的替换
//去除叠词
reg.getReplace("12111123ASDASDAAADDD",divisionReg,"$1");
//字符串的分割
//切割叠词,重复的
//这里要知道一个组的概念(.)\\1第二个和第一个至相同
reg.getDivision("aadddddasdasdasaaaaaassssfq",divisionReg);
//字符串的获取
//现在获取三个字符串取出
reg.getString("ming tian jiu yao fangjia le ",getStringReg);
}
/**
* 获取查询的字符串
* 将匹配的字符串取出
*/
private void getString(String str, String regx) {
//1.将正在表达式封装成对象Patten 类来实现
Pattern pattern = Pattern.compile(regx);
//2.将字符串和正则表达式相关联
Matcher matcher = pattern.matcher(str);
//3.String 对象中的matches 方法就是通过这个Matcher和pattern来实现的。
System.out.println(matcher.matches());
//查找符合规则的子串
while(matcher.find()){
//获取 字符串
System.out.println(matcher.group());
//获取的字符串的首位置和末位置
System.out.println(matcher.start()+"--"+matcher.end());
}
}
/**
* 字符串的分割
*/
private void getDivision(String str, String regx) {
String [] dataStr = str.split(regx);
for(String s:dataStr){
System.out.println("正则表达式分割++"+s);
}
}
/**
* 字符串的替换
*/
private void getReplace(String str, String regx,String replaceStr) {
String stri = str.replaceAll(regx,replaceStr) ;
System.out.println("正则表达式替换"+stri);
}
/**
* 字符串处理之匹配
* String类中的match 方法
*/
public void getMatch(String str, String regx){
System.out.println("正则表达匹配"+str.matches(regx));
}
}
java正则表达式四种常用的处理方式是怎么样呢《匹配、分割、代替、获取》的更多相关文章
- JAVA 正则表达式4种常用的功能
下面简单的说下它的4种常用功能: 查询: 以下是代码片段: String str="abc efg ABC"; String regEx="a|f" ...
- 四种常用的access连接方式
整理出四种常用的access连接方式,当然,第1种这是最常用的(推荐使用).1. set dbconnection=Server.CreateOBJECT("ADODB.CONNECTION ...
- java内部类及四种内部类的实现方式
java内部类及四种内部类的实现方式 一.内部类定义:内部类分为: 成员内部类.静态嵌套类.方法内部类.匿名内部类. 二.为何要内部类?a.内部类提供了某种进入外围类的窗户.b.也是最吸引人的原因, ...
- Java中四种引用:强、软、弱、虚引用
这篇文章非常棒:http://alinazh.blog.51cto.com/5459270/1276173 Java中四种引用:强.软.弱.虚引用 1.1.强引用当我们使用new 这个关键字创建对象时 ...
- Java基础:Java的四种引用
在Java基础:java虚拟机(JVM)中,我们提到了Java的四种引用.包括:强引用,软引用,弱引用,虚引用.这篇博客将详细的讲解一下这四种引用. 1. 强引用 2. 软引用 3. 弱引用 4. 虚 ...
- java中四种引用类型(对象的强、软、弱和虚引用)
对象的强.软.弱和虚引用在JDK 1.2以前的版本中,若一个对象不被任何变量引用,那么程序就无法再使用这个对象.也就是说,只有对象处于可触及(reachable)状态,程序才能使用它.从JDK 1.2 ...
- 【转】 FPGA设计的四种常用思想与技巧
本文讨论的四种常用FPGA/CPLD设计思想与技巧:乒乓操作.串并转换.流水线操作.数据接口同步化,都是FPGA/CPLD逻辑设计的内在规律的体现,合理地采用这些设计思想能在FPGA/CPLD设计工作 ...
- 转--Android按钮单击事件的四种常用写法总结
这篇文章主要介绍了Android按钮单击事件的四种常用写法总结,比较了常见的四种写法的优劣,有不错的参考借鉴价值,需要的朋友可以参考下 很多学习Android程序设计的人都会发现每个人对代码的 ...
- java中四种引用类型
java中四种引用类型 今天看代码,里面有一个类java.lang.ref.SoftReference把小弟弄神了,试想一下,接触java已经有3年了哇,连lang包下面的类都不了解,怎么混.后来在 ...
随机推荐
- selenium 基本了解
Selenium的界面 白色:还未执行 浅青色:动作成功 深青色:判断成功 浅粉红色:判断失败,但不影响测试案例的运行 深粉红色:判断失败,且测试案例无法正常运行 Command 存在的命令 Acti ...
- IIS应用程序池添加ASP.NET v4.0
可能在安装.NET Framewrok 4.0之前,IIS就已经装好了,结果在IIS的应用程序池中只有.NET 2.0的Classic .NET AppPool和DefaultAppPool.在使用v ...
- 使用NSURLSession请求需要AD认证的HTTPS服务器
关键代码:使用后台下载PDF文件 - (void)startDownloadPDF{ NSURLSession *session = [self session]; NSString *downloa ...
- Java基础之在窗口中绘图——绘制圆弧和椭圆(Sketcher 3 drawing arcs and ellipses)
控制台程序. import javax.swing.JComponent; import java.util.*; import java.awt.*; import java.awt.geom.*; ...
- (Factory method)工厂方法设计模式
定义: 1.) 工厂方法模式是用来封装对象的创建,通过让子类来决定创建的对象是什么,来达到将对象创建的过程封装的目的: 2.) 定义了一个创建对象的接口,但由子类决定要实例的泪是哪一个.工厂方法让类把 ...
- J2EE maven pom.xml常用的jar包
新建一个maven webapp工程,默认的pom.xml文件如下: <project xmlns="http://maven.apache.org/POM/4.0.0" x ...
- C++Primer 第九章
//1.vector:可变大小数组.支持快速随机访问,在尾部之外的位置插入或删除元素可能很慢.注意点:不要在vector中存放bool类型,vector<bool>并不是一个容器,其实现方 ...
- [原创]spring学习笔记:关于springsource-tool-suite插件的安装
1.首先我们得确定自己使用的eclipes的版本,具体方式:打开eclipes > help > About Eclipes > 点击eclipes的logo > 查看ecli ...
- Java编程思想(一):大杂烩
在java中一切都被视为对象.尽管一切都是对象,但是操纵的标识符实际上是对象的一个引用,可以将引用想象成是遥控器(引用)来操纵电视机(对象).没有电视机,遥控器也可以单独存在,即引用可以独立存在,并不 ...
- centos dhcp网络设置
CentOS 网络设置修改 一.CentOS 修改IP地址 修改对应网卡的IP地址的配置文件# vi /etc/sysconfig/network-scripts/ifcfg-eth0 修改以下内 ...