验证
简单验证
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 c"; String[] actuals = input.split(regex); String[] expecteds = new String[] {"a", "b", "c"}; assertArrayEquals(expecteds, actuals);
使用 Pattern 对象,方便反复使用
String regex = "\s+"; String input = "a b c"; Pattern pattern = Pattern.compile(regex); String[] actuals = pattern.split(input); String[] expecteds = new String[] {"a", "b", "c"}; assertArrayEquals(expecteds, actuals);