Java - 正则表达式常用操作
验证
简单验证
String regex = "\\d{4}-\\d{2}-\\d{2}";
String input = "2016-01-01";
assertTrue(input.matches(regex));
assertTrue(Pattern.matches(regex, input));
提取
String regex = "\\d{4}-\\d{2}-\\d{2}";
String input = "2016-01-01, 2016-02-02. [2016-03-03]";
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(input);
while (matcher.find()) {
System.out.println(matcher.group());
}
替换
简单替换
String regex = "(\\d{4})-(\\d{2})-(\\d{2})";
String replacement = "$2/$3/$1";
String input = "2016-01-15, 2016-02-15.";
String actual = input.replaceAll(regex, replacement);
String expected = "01/15/2016, 02/15/2016.";
assertEquals(expected, actual);
使用 Pattern 对象,方便反复使用
String regex = "(\\d{4})-(\\d{2})-(\\d{2})";
String replacement = "$2/$3/$1";
String input = "2016-01-15, 2016-02-15.";
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(input);
String actual = matcher.replaceAll(replacement);
String expected = "01/15/2016, 02/15/2016.";
assertEquals(expected, actual);
切分
简单切分
String regex = "\\s+";
String input = "a b\tc";
String[] actuals = input.split(regex);
String[] expecteds = new String[] {"a", "b", "c"};
assertArrayEquals(expecteds, actuals);
使用 Pattern 对象,方便反复使用
String regex = "\\s+";
String input = "a b\tc";
Pattern pattern = Pattern.compile(regex);
String[] actuals = pattern.split(input);
String[] expecteds = new String[] {"a", "b", "c"};
assertArrayEquals(expecteds, actuals);
Java - 正则表达式常用操作的更多相关文章
- Java Map常用操作
Java之map常用操作 package basic; import java.util.HashMap; import java.util.Map; /** *Map常用操作方法 */ public ...
- Java 正则表达式实例操作
Regular Expression正则表达式,简称RegExp,常规通用的表达式,在多个开发语言中都有它的实现,可以通过正则表达式来快速的检索.匹配.查找.替换字符串中的文本. 简单实例 匹配网址 ...
- Java 线程常用操作
继Java线程生命周期继续学习Java线程其他常用操作 线程的常用操作 设置线程名字:setName() 获取线程名称:getName() 线程唯一Id:getId() // 自定义线程名称 Stri ...
- Java File 常用操作回顾
最近项目中要用到File这个类,温故而知新,回过头来回顾下这个File类,File类主要是对磁盘目录,文件进行操作的Api,具体其实查JDK api 的File全能获取到. 下面写一些文件目录的基本操 ...
- HDFS Java API 常用操作
package com.luogankun.hadoop.hdfs.api; import java.io.BufferedInputStream; import java.io.File; impo ...
- java正则表达式常用实例——借鉴思路
转载自:http://mp.weixin.qq.com/s?__biz=MjM5OTM4NDMyMg==&mid=2650044497&idx=1&sn=dc80fa35f7e ...
- java集合常用操作
收集一些常用集合操作的代码,用于治疗健忘症,:) set转list //构造Map数据 Map<String, String> map = new HashMap<String, S ...
- 【转】Java 字符串常用操作(String类)
原文网址:http://www.cnblogs.com/freeabyss/archive/2013/05/15/3187057.html 字符串查找 String提供了两种查找字符串的方法,即ind ...
- Java 字符串常用操作(String类)
字符串查找 String提供了两种查找字符串的方法,即indexOf与lastIndexOf方法. 1.indexOf(String s) 该方法用于返回参数字符串s在指定字符串中首次出现的索引位置, ...
随机推荐
- JQuery中的AJAX参数详细介绍
Jquery中AJAX参数详细介绍 参数名 类型 描述 url String (默认: 当前页地址) 发送请求的地址. type String (默认: "GET") 请求方 ...
- POJ1189钉子和小球(DP)
对钉子DP,如果钉子存在DP[i+1][j]+=DP[i][j]; DP[i+1][j+1]+=DP[i][j]; 如果不存在DP[i+2][j+1]+=4*DP[i][j]; 见代码:(有一个比较坑 ...
- C#学习笔记(四):委托和事件
刚开始学习C#的时候就写过了,直接给地址了: 委托.匿名函数.Lambda表达式和事件的学习 委托学习续:Action.Func和Predicate
- Android 4.2原生支持从右到左的文字排列格式
Android 4.1(Jelly Bean) 在TextView和EditText 元素里对“双向文字顺序”提供了有限的功能支持,允许应用程序在编辑和显示字符的时候,能够同时支持从左到右(LTR) ...
- TChromeTabs 使用日记
1.如何让 Tab 在拖放时,拖放图形中带有 TabControl 的内容. 增加 ChromeTabs 的 NeedDragImageControl 事件,并在代码中设置 DragControl 为 ...
- Note of IOS 7 - Views
1. Views presentation: A view (an object whose class is UIView or a subclass of UIView) knows how to ...
- Caching in ASP.NET MVC
The caching options available in ASP.NET MVC applications don’t come from the ASP.NET MVC Framework, ...
- python常用功能总结
经常写python,但很多小的点都记不住,每用必查,总结下来,下次查自己的吧. 1.时间获取: import time print time.strftime("%Y-%m-%d %H:% ...
- android数据库操作之直接读取db文件
在对数据库操作时,常用的有两种方法: 1.在代码中建库.建表: 2.直接将相关库.表建立好,将db文件拷贝至assets目录下: 现在来看看第二种方法: private String Ge ...
- Android实现图表绘制和展示
本文演示在Android平台中绘制和展示图表示例,本示例是基于RChart 2实现的. 在一个系统中经常要用到图表统计数据,在WEB开发中图表绘制是一件简单的事情,因为有比较多的开源方案.但在Andr ...