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"); }
作者:虾米哥
微信公众号:IT虾米,左侧为二维码
个人技术网站-IT虾米网:http://www.itxm.cn
个人技术网站-编程符号网:http://www.itfh.cn
个人技术网站-IT源码网:http://www.itym.cn
新浪微博:https://weibo.com/u/2814576687
如果你想及时得到个人撰写文章以及著作的消息推送,或者想看看个人推荐的技术资料,可以扫描左边二维码(或者长按识别二维码)关注个人公众号。
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。