java正则表达式

创建步骤:
1.创建一个Pattern,Pattern p = Pattern.compile(String regex);
2.创建Matcher,Matcher m = p.matcher(String str);
3.匹配。

Matcher对于匹配有3中,matches(),find(),LookingAt()。
matches()要全部匹配才能返回true,LookingAt()从第一个开始,匹配上就可以,不必完全匹配。find()则是只要字串有匹配的就可以,返回true。
pattern中有split(String str)方法对字符串进行分割。还有一些功能在api中能找到。
示例:

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


public class RegexTest {

/**
* @param args
*/
public static void main(String[] args) {
String emailReg = "[a-zA-Z0-9]+@[a-zA-Z0-9]+\\.[a-z]+";
String emailMatches = "jinguichao@163.com";
String emailLookingAt = "jinguichao@163.com.cn";
String emailFind = "\\-jinguichao@163.com";
System.out.println(createMatcher(emailMatches, emailReg).matches());
System.out.println(createMatcher(emailLookingAt, emailReg).matches());
System.out.println(createMatcher(emailFind, emailReg).matches());
System.out.println(createMatcher(emailMatches, emailReg).lookingAt());
System.out.println(createMatcher(emailLookingAt, emailReg).lookingAt());
System.out.println(createMatcher(emailFind, emailReg).lookingAt());
System.out.println(createMatcher(emailMatches, emailReg).find());
System.out.println(createMatcher(emailLookingAt, emailReg).find());
System.out.println(createMatcher(emailFind, emailReg).find());

System.out.println(createMatcher("13812345678", "^[1][35]{1}\\d{9}").matches());
System.out.println(createMatcher("012345678912345", "\\d{15}").matches());

//spilt the string to string[] by ","
Pattern pattern = Pattern.compile(",");
String[] strs = pattern.split("good,bad,fuck");
for(String str : strs) {
System.out.println(str);
}

}

private static Matcher createMatcher(String str, String reg) {
Pattern pattern = Pattern.compile(reg);
Matcher matcher = pattern.matcher(str);
return matcher;
}
}

输出:
true
false
false
true
true
false
true
true
true
true
true
good
bad
fuck

如果表述不够清晰,可以结合运行结果自行分析。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值