您的位置:首页 > 编程语言 > Java开发

[Java 11] 正则表达式-入门

2014-06-04 21:09 330 查看
Pattern 类的常用方法

1, public static Pattern compile(String regex)   普通  指定正则表达式的规则
2, public Matcher matcher(CharSequence input)      返回 Matcher 类实例
3, public String[] split(CharSequence input)               字符串拆分


Matcher 类常用方法

<strong>public boolean matches()   执行验证
public String replaceAll(String replacement)             字符串替换</strong>

判断字符串是否由数字组成 

RegexDemo02

package com.qunar.basicJava.javase.p11CommonlyUsedClass.regex;

import java.util.regex.Pattern;

/**
* Author: libin.chen@qunar.com  Date: 14-6-4 17:20
*/
public class RegexDemo02 {
public static void main(String[] args) {
String str = "1234567890";
if (Pattern.compile("[0-9]+").matcher(str).matches()) {
System.out.println("由数字组成");
}
else {
System.out.println("不是由数字组成的");
}
}
// Pattern 类 : 正则表达式的正则规范
// Matcher 类 : 正则表达式的执行规范
}
RegexDemo03
package com.qunar.basicJava.javase.p11CommonlyUsedClass.regex;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

/**
* Author: libin.chen@qunar.com  Date: 14-6-4 20:23
*/
public class RegexDemo03 {
public static void main(String[] args) {
String str = "1983-07-27";
String pat = "\\d{4}-\\d{2}-\\d{2}";
Pattern pattern = Pattern.compile(pat);
Matcher matcher = pattern.matcher(str);
if (matcher.matches()) {
System.out.println("日期合法");
} else {
System.out.println("日期不合法");
}

String str2 = "A1B22C333D4444E55F";
String pat2 = "\\d+";
Pattern pattern2 = Pattern.compile(pat2);
String s[] = pattern2.split(str2);
for (String string : s) {
System.out.print(string + "\t");
}

Matcher matcher1 = pattern2.matcher(str2);
String newString = matcher1.replaceAll("--");
System.out.println(newString);
}
}
Spring 对正则表达式的支持
package com.qunar.basicJava.javase.p11CommonlyUsedClass.regex;

/**
* Author: libin.chen@qunar.com  Date: 14-6-5 09:04
*/
public class RegexDemo06 {
public static void main(String[] args) {
String str1 = "A1B22C333D4444E55F".replaceAll("\\d+", "_");
boolean temp = "1983-07-27".matches("\\d{4}-\\d{2}-\\d{2}");
String s[] = "A1B22C33D44E55F".split("\\d+");
System.out.println(str1);
System.out.println(temp);
for (String s1 : s) {
System.out.print(s1 + "\t");
}

}
}
如果 String 能解决,其实,使用 String 可能更简单,简化代码。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: