下面简单的说下它的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. sql server数据库操作

    --插入整行数据 , '1983-08-29', 'A', 'A', 'A') --插入部分列数据 , '1983-08-29') --删除行记录 delete from person where n ...

  2. python学习笔记(一):作图

    1.需要导入的包 import seaborn as sns import numpy as np from numpy.random import randn import matplotlib a ...

  3. IE10一下的img标签问题

    之前写过的一段简单的demo,后来在IE10以下使用的时候发现无法使用,先上一段代码 HTML: <div class="all" id="box"> ...

  4. AngularJs自定义指令详解(4) - transclude

    transclude默认值为false,如果设置 transclude为true,那么相应地,必须在模板代码中加入ng-transclude指令. 先看个例子: <!DOCTYPE html&g ...

  5. ExtJs 获取Dom对象

    对象指页面上的某一部分,如:Input等.我觉得在EXT JS中会有三类基本对象,htmlelement , EXT.Element和CompositeElement .分别解释一下: htmlele ...

  6. Chocolatey

    知乎上有人提到如何节省时间, 1.自动化 2.批量化 Chocolatey (https://chocolatey.org/)是一个自动化程序安装工具.今天试用了一下 ,想想每年因为安装软件而损失的时 ...

  7. MCMC and Bayesian Data Analysis(PPT在文件模块)

    How to generate a sample from $p(x)$? Let's first see how Matlab samples from a $p(x)$. In Matlab, t ...

  8. CSS 浮动副作用 ,清除浮动

    参考:http://www.divcss5.com/jiqiao/j406.shtml 副作用:一般是一个盒子里使用了CSS float浮动属性,导致父级对象盒子不能被撑开,背景色不显示(如果父级不设 ...

  9. 性能:CPU、Memory、耗电量

    1.自动 APP 性能测试需求讨论:https://testerhome.com/topics/3172 2.Android Studio中怎么使用DDMS工具?:http://www.cnblogs ...

  10. C# 在winform或者wpf中显示控制台窗口

    这儿需要使用两个系统函数: BOOL WINAPI FreeConsole(void); //// 关闭控制台窗口,参考:http://msdn.microsoft.com/en-us/library ...