Java 正则表达式详细使用

Java 正则表达式的使用,具体内容如下所示:

java.util.regex.Pattern
java.util.regex.Matcher

1.Match

match 是从字符串最头部开始匹配,一直到结束,需要匹配整个串

String content = "Welcome, bob!";
content.match("bob");  //false
content.match(".*bob")  //false
content.match(".*bob.*") //true
String str="test@yahoo.com.cn";
Pattern pattern = Pattern.compile("[\\w\\.\\-]+@([\\w\\-]+\\.)+[\\w\\-]+",Pattern.CASE_INSENSITIVE);
Matcher matcher = pattern.matcher(str);
boolean a = matcher.matches(); //匹配的时候返回true

2.Find

boolean b = matcher.find(); //包含正则匹配的串为true
// 找到所有匹配的串
while(matcher.find()) {
  String extracted = matcher.group(0)
}

3.Replace

matcher.replaceFirst("")
matcher.replaceAll("");

4.Group

group(0) 代表整个表达式
String line = "#星座运势#20171013";
String pattern = "\\#(\\p{L}*)\\#(\\d+)"; //\p{L} 匹配 unicode any kind of letter from any language
// 创建 Pattern 对象
Pattern r = Pattern.compile(pattern);
// 现在创建 matcher 对象
Matcher m = r.matcher(line);
if (m.find( )) {
  System.out.println("Found value: " + m.group(0) );  // "#星座运势#20171013"
  System.out.println("Found value: " + m.group(1) );  // 星座运势
  System.out.println("Found value: " + m.group(2) );  // 20171013
} else {
  System.out.println("NO MATCH");
}

总结

以上所述是小编给大家介绍的Java 正则表达式详细使用,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对菜鸟教程(cainiaojc.com)网站的支持!

声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:notice#cainiaojc.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。