下面简单的说下它的4种常用功能:
 
  查询:
 
以下是代码片段:
String str="abc efg ABC"; 
 
String regEx="a|f"; //表示a或f 
 

Pattern p=Pattern.compile(regEx); 
 
Matcher m=p.matcher(str); 
 
boolean rs=m.find(); 
 
 
  如果str中有regEx,那么rs为true,否则为flase。如果想在查找时忽略大小写,则可以写成Pattern p=Pattern.compile(regEx,Pattern.CASE_INSENSITIVE);
 
  提取:
 
以下是代码片段:
String regEx=".+\(.+)$"; 
 
String str="c:\dir1\dir2\name.txt"; 
 
Pattern p=Pattern.compile(regEx); 
 
Matcher m=p.matcher(str); 
 
boolean rs=m.find(); 
 
for(int i=1;i<=m.groupCount();i++){ 
 
System.out.println(m.group(i)); 
 
 
 
  以上的执行结果为name.txt,提取的字符串储存在m.group(i)中,其中i最大值为m.groupCount();
 
  分割:
 
以下是代码片段:
String regEx="::"; 
 
Pattern p=Pattern.compile(regEx); 
 
String[] r=p.split("xd::abc::cde"); 
 
执行后,r就是{"xd","abc","cde"},其实分割时还有跟简单的方法: 
 
String str="xd::abc::cde"; 
 
String[] r=str.split("::"); 
 
 
  替换(删除):
 
以下是代码片段:
String regEx="a+"; //表示一个或多个a 
 
Pattern p=Pattern.compile(regEx); 
 
Matcher m=p.matcher("aaabbced a ccdeaa"); 
 
String s=m.replaceAll("A"); 
 
  结果为"Abbced A ccdeA"
 
  如果写成空串,既可达到删除的功能,比如:
 
String s=m.replaceAll("");
 
  结果为"bbced ccde"
 
  附:
 
 \D 等於 [^0-9] 非数字 
 \s 等於 [ \t\n\x0B\f ] 空白字元 
 \S 等於 [^ \t\n\x0B\f ] 非空白字元 
 \w 等於 [a-zA-Z_0-9] 数字或是英文字 
  \W 等於 [^a-zA-Z_0-9] 非数字与英文字 
 
  ^ 表示每行的开头

  $ 表示每行的结尾

JAVA 正则表达式4种常用的功能的更多相关文章

  1. java正则表达式四种常用的处理方式是怎么样呢《匹配、分割、代替、获取》

    java 正则表达式高级篇,介绍四种常用的处理方式:匹配.分割.替代.获取,具体内容如下package test; import java.util.regex.Matcher; import jav ...

  2. java 中几种常用数据结构

    Java中有几种常用的数据结构,主要分为Collection和map两个主要接口(接口只提供方法,并不提供实现),而程序中最终使用的数据结构是继承自这些接口的数据结构类. 一.几个常用类的区别 1.A ...

  3. Java中几种常用数据类型之间转换的方法

    Java中几种常用的数据类型之间转换方法: 1. short-->int 转换 exp: short shortvar=0; int intvar=0; shortvar= (short) in ...

  4. AVA正则表达式4种常用功能

    正则表达式在字符串处理上有着强大的功能,sun在jdk1.4加入了对它的支持 下面简单的说下它的4种常用功能: 查询: String str="abc efg ABC";  Str ...

  5. Java的几种常用设计模式

    何为设计模式? 就是对一些常见问题进行归纳总结,并针对具体问题给出一套通用的解决办法(强调的是解决问题的思想): 在开发中,只要遇到这类问题,就可以直接使用这些设计模式解决问题. ---------- ...

  6. java中几种常用的设计模式

    参考https://blog.csdn.net/jiyang_1/article/details/50110931 参考https://blog.csdn.net/dean_hu/article/de ...

  7. Java 中几种常用设计模式

    Java 中一般认为有23种设计模式,当然暂时不需要所有的都会,但是其中常见的几种设计模式应该去掌握. 总体来说设计模式分为三大类: 创建型模式,共五种:工厂方法模式.抽象工厂模式.单例模式.建造者模 ...

  8. Java基础——6种常用类讲解

    本文主要介绍几种Java中常用类的应用. 一.System类 从API当中我们可以看出,public final class System exends Object.System类包含一些有用的字段 ...

  9. Java多线程-两种常用的线程计数器CountDownLatch和循环屏障CyclicBarrier

    Java多线程编程-(1)-线程安全和锁Synchronized概念 Java多线程编程-(2)-可重入锁以及Synchronized的其他基本特性 Java多线程编程-(3)-从一个错误的双重校验锁 ...

随机推荐

  1. ueditor不自动加P解决方法

    百度的Ueditor编辑器出于安全考虑; 用户在html模式下粘贴进去的html文档会自动被去除样式和转义. 虽然安全的,但是非常不方便. 做一下修改把这个功能去掉. 一.打开ueditor.all. ...

  2. 使用yield关键字让自定义集合实现foreach遍历

    一般来说当我们创建自定义集合的时候为了让其能支持foreach遍历,就只能让其实现IEnumerable接口(可能还要实现IEnumerator接口) 但是我们也可以通过使用yield关键字构建的迭代 ...

  3. 复制本地文件到HDFS本地测试异常

    项目中需要将本地文件拷贝到hdfs上,由于本人比较懒,于是使用擅长的Java程序通过Hadoop.FileSystem.CopyFromLocalFile方法来实现. 在本地(Window 7 环境) ...

  4. Linq group

    using System;using System.Collections.Generic;using System.Linq; public class MyClass{ public static ...

  5. PHP-redis中文文档介绍(转自http://www.jb51.net/article/33887.htm)

    Redis::__construct构造函数$redis = new Redis(); connect, open 链接redis服务参数host: string,服务地址port: int,端口号t ...

  6. django 1.8 TEMPLE_DIR和STATICFILES_DIRS配置

    django 1.6后settings.py文件中没有了TEMPLATE_DIRS模板目录和STATICFILES_DIRS静态访问目录,需要手动添加,最近也遇到这个问题,把解决办法说一下 1.环境 ...

  7. ORACLE存储过程创建失败,如何查看其原因

    工作中用SQL Server比较多,Oracle可以说是小白,最近想用存储过程来完成单据复制的功能,结果遇到各种问题,其实都是非常简单的问题,但是对我来说还是花了很多时间来解决,浪费这些时间非常不值得 ...

  8. 1.1使用内置的Camara应用程序捕捉图像

    一: Camara应用程序包含的意图过滤器 <intent-filter> <action android:name="android.media.action.IMAGE ...

  9. CentOS系统下安装配置ftp服务

    安装配置步骤: rpm -ivh /opt/bak/vsftpd-2.2.2-11.el6.x86_64.rpm --本地安装vsftpd ll /etc/vsftpd/  --查看vsftpd的配置 ...

  10. java中super的两种用法

    通过用static来定义方法或成员,为我们编程提供了某种便利,从某种程度上可以说它类似于C语言中的全局函数和全局变量.但是,并不是说有了这种便利,你便可以随处使用,如果那样的话,你便需要认真考虑一下自 ...