下面简单的说下它的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. 字节b换算kb/mb/gb/tb/pb

    public static string HumanReadableFilesize(double size) { string[] units = new string[] { "B&qu ...

  2. spark2.0配置

    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/20 ...

  3. iOS实现类似于歌词进度效果

    先看效果 这里关键的地方在于镂空文字的实现,可以用UILabel的drawRect方法. .h文件 @interface HollowLabel : UILabel @end .m文件 @interf ...

  4. ROS实时采集Android的图像和IMU数据

    前言       临近毕业,整理一下之前做的东西.这篇博客来自于博主在2016年3月份投的一篇会议论文(论文主要介绍了一个基于手机摄像头和IMU的简单VIO系统,用于AR的Tracking部分,本博文 ...

  5. NES模拟器开发-PPU笔记

    20151008 占坑,暂时没弄清楚PPU数据如何初始化,绘制顺序等.

  6. nginx+tomcat负载均衡

    最近练习nginx+tomcat负载均衡.根据一些资料整理了大体思路,最终实现了1个nginx+2个tomcat负载均衡. 安装JDK 1>进入安装目录,给所有用户添加可执行的权限 #chmod ...

  7. xml的解析与创建——bing到youdao导入文件的转换

    首先是为了解决一个问题:如何将必应单词本中记录的单词转入到有道词典中去.实际上,必应词典可以导出xml文件,但是该文件有道词典无法解析.这里涉及到xml的解析和创建了. 代码如下: import ja ...

  8. asp.net下AjaxMethod的使用方法

    使用AjaxMethod可以在客户端异步调用服务端方法,简单地说就是在JS里调用后台.cs文件里的方法, 做一些JS无法做到的操作,如查询数据库 使用AjaxMethod要满足一下几点: 1.如果还没 ...

  9. 选择什么样的DOCTYPE

  10. c++11 实现单例模式

    C++11出来后,里面新增加了好多好用的功能 下面的单例就是使用了C++11中的标准库中的mutex和unique_prt 进行内存管理的. 此单例模式不用担心内存的释放问题 #pragma once ...