验证

简单验证

  1. String regex = "\\d{4}-\\d{2}-\\d{2}";
  2. String input = "2016-01-01";
  3. assertTrue(input.matches(regex));
  4. assertTrue(Pattern.matches(regex, input));

提取

  1. String regex = "\\d{4}-\\d{2}-\\d{2}";
  2. String input = "2016-01-01, 2016-02-02. [2016-03-03]";
  3. Pattern pattern = Pattern.compile(regex);
  4. Matcher matcher = pattern.matcher(input);
  5. while (matcher.find()) {
  6. System.out.println(matcher.group());
  7. }

替换

简单替换

  1. String regex = "(\\d{4})-(\\d{2})-(\\d{2})";
  2. String replacement = "$2/$3/$1";
  3. String input = "2016-01-15, 2016-02-15.";
  4. String actual = input.replaceAll(regex, replacement);
  5. String expected = "01/15/2016, 02/15/2016.";
  6. assertEquals(expected, actual);

使用 Pattern 对象,方便反复使用

  1. String regex = "(\\d{4})-(\\d{2})-(\\d{2})";
  2. String replacement = "$2/$3/$1";
  3. String input = "2016-01-15, 2016-02-15.";
  4. Pattern pattern = Pattern.compile(regex);
  5. Matcher matcher = pattern.matcher(input);
  6. String actual = matcher.replaceAll(replacement);
  7. String expected = "01/15/2016, 02/15/2016.";
  8. assertEquals(expected, actual);

切分

简单切分

  1. String regex = "\\s+";
  2. String input = "a b\tc";
  3. String[] actuals = input.split(regex);
  4. String[] expecteds = new String[] {"a", "b", "c"};
  5. assertArrayEquals(expecteds, actuals);

使用 Pattern 对象,方便反复使用

  1. String regex = "\\s+";
  2. String input = "a b\tc";
  3. Pattern pattern = Pattern.compile(regex);
  4. String[] actuals = pattern.split(input);
  5. String[] expecteds = new String[] {"a", "b", "c"};
  6. assertArrayEquals(expecteds, actuals);

Java - 正则表达式常用操作的更多相关文章

  1. Java Map常用操作

    Java之map常用操作 package basic; import java.util.HashMap; import java.util.Map; /** *Map常用操作方法 */ public ...

  2. Java 正则表达式实例操作

    Regular Expression正则表达式,简称RegExp,常规通用的表达式,在多个开发语言中都有它的实现,可以通过正则表达式来快速的检索.匹配.查找.替换字符串中的文本. 简单实例 匹配网址 ...

  3. Java 线程常用操作

    继Java线程生命周期继续学习Java线程其他常用操作 线程的常用操作 设置线程名字:setName() 获取线程名称:getName() 线程唯一Id:getId() // 自定义线程名称 Stri ...

  4. Java File 常用操作回顾

    最近项目中要用到File这个类,温故而知新,回过头来回顾下这个File类,File类主要是对磁盘目录,文件进行操作的Api,具体其实查JDK api 的File全能获取到. 下面写一些文件目录的基本操 ...

  5. HDFS Java API 常用操作

    package com.luogankun.hadoop.hdfs.api; import java.io.BufferedInputStream; import java.io.File; impo ...

  6. java正则表达式常用实例——借鉴思路

    转载自:http://mp.weixin.qq.com/s?__biz=MjM5OTM4NDMyMg==&mid=2650044497&idx=1&sn=dc80fa35f7e ...

  7. java集合常用操作

    收集一些常用集合操作的代码,用于治疗健忘症,:) set转list //构造Map数据 Map<String, String> map = new HashMap<String, S ...

  8. 【转】Java 字符串常用操作(String类)

    原文网址:http://www.cnblogs.com/freeabyss/archive/2013/05/15/3187057.html 字符串查找 String提供了两种查找字符串的方法,即ind ...

  9. Java 字符串常用操作(String类)

    字符串查找 String提供了两种查找字符串的方法,即indexOf与lastIndexOf方法. 1.indexOf(String s) 该方法用于返回参数字符串s在指定字符串中首次出现的索引位置, ...

随机推荐

  1. CodeForces 706D Vasiliy's Multiset (字典树查询+贪心)

    题意:最开始的时候有一个集合,集合里面只有一个元素0,现在有q次操作,操作分为3种: + x: 表示向集合中添加一个元素x - x:表示删除集合中值为x的一个元素 ? x:表示查询集合中与x异或的最大 ...

  2. 进程控制块PCB学习

    参考这篇文章:http://blog.csdn.net/shuizhilan/article/details/6642040 PCB(process control block),进程控制块,是我们学 ...

  3. Oracle 的 INSERT ALL和INSERT FIRST

    描述性的东西就不来了,搞技术的,最喜欢实在的实例.通过下面的例子,大家很快就能明白insert all 与 insert first 的功能,比文字描述更通俗易懂. 一.INSERT ALL 不带条件 ...

  4. python视频教程大全

    python3英文视频教程(全87集) http://pan.baidu.com/s/1dDnGBvV python从入门到精通视频(全60集)链接:http://pan.baidu.com/s/1e ...

  5. Hibernate映射解析——七种映射关系

    首先我们了解一个名词ORM,全称是(Object Relational Mapping),即对象关系映射.ORM的实现思想就是将关系数据库中表的数据映射成对象,以对象的形式展现,这样开发人员就可以把对 ...

  6. DuiLib(二)——控件创建

    上一篇讲了窗口及消息,了解了大体的程序框架.这一篇说的是控件的创建. duilib支持XML配置文件,即根据XML创建窗口及控件,将界面与逻辑分开,便于修改及维护.上一篇的示例中可以看到在消息WM_C ...

  7. php使用openssl进行Rsa长数据加密,解密保存问题

    原来代码: public function encrypt($data) { if (openssl_public_encrypt(base64_encode($data), $encrypted, ...

  8. 取消掉Transfer-Encoding:chunked

    先说解决方法:::不让服务器返回Transfer-Encoding:chunked,在客户端请求的时候可以使用http 1.0的协议. 有时候,Web服务器生成HTTP Response是无法在Hea ...

  9. [Angular-Scaled Web] 8. Using $http to load JSON data

    Using the $http service to make requests to remote servers. categories-model.js: angular.module('egg ...

  10. JAXB完毕XML与Java对象的互转

    这段时间都老忙了,甚至连周末全部人员都在赶产品的进度,想想连续上12天班,人都有点晕了! 到这会儿最终有点时间.所以准备和大家分享一下JAXB,会不会有人认为有点陌生呢?没事,这里跟大伙儿简单的描写叙 ...