Java 正则表达式学习总结和一些小例子(3)

String[] dataArr = { "google", "gooogle", "gooooogle", "goooooogle","ggle"}; for (String str : dataArr) { String patternStr = "g(o{2,5})gle"; boolean result = Pattern.matches(patternStr, str); if (result) { System.out.println("字符串" + str + "匹配模式" + patternStr + "成功"); } else { System.out.println("字符串" + str + "匹配模式" + patternStr + "失败"); } }

实例十二:

-表示从..到…,如[a-e]等同于[abcde]

String[] dataArr = { "Tan", "Tbn", "Tcn", "Ton","Twn"}; for (String str : dataArr) { String regex = "T[a-c]n"; boolean result = Pattern.matches(regex, str); if (result) { System.out.println("字符串" + str + "匹配模式" + regex + "成功"); } else { System.out.println("字符串" + str + "匹配模式" + regex + "失败"); } }

实例十三:不区分大小写匹配.

正则表达式默认都是区分大小写的,使用了Pattern.CASE_INSENSITIVE则不对大小写进行区分.

String patternStr="ab"; Pattern pattern=Pattern.compile(patternStr, Pattern.CASE_INSENSITIVE); String[] dataArr = { "ab", "Ab", "AB"}; for (String str : dataArr) { Matcher matcher=pattern.matcher(str); if(matcher.find()){ System.out.println("字符串" + str + "匹配模式" + patternStr + "成功"); } }

实例十四:使用正则表达式劈分字符串.
注意这里要把复杂的模式写在前面,否则简单模式会先匹配上.

String input="职务=GM 薪水=50000 , 姓名=职业经理人 ; 性别=男 年龄=45 "; String patternStr="(\s*,\s*)|(\s*;\s*)|(\s+)"; Pattern pattern=Pattern.compile(patternStr); String[] dataArr=pattern.split(input); for (String str : dataArr) { System.out.println(str); }

实例十五:解析正则表达式中的文字,对应第一个小括号括起来的group1.

String regex="<(\w+)>(\w+)</>"; Pattern pattern=Pattern.compile(regex); String input="<name>Bill</name><salary>50000</salary><title>GM</title>"; Matcher matcher=pattern.matcher(input); while(matcher.find()){ System.out.println(matcher.group(2)); }

实例十六:将单词数字混合的字符串的单词部分大写.

String regex="([a-zA-Z]+[0-9]+)"; Pattern pattern=Pattern.compile(regex); String input="age45 salary500000 50000 title"; Matcher matcher=pattern.matcher(input); StringBuffer sb=new StringBuffer(); while(matcher.find()){ String replacement=matcher.group(1).toUpperCase(); matcher.appendReplacement(sb, replacement); } matcher.appendTail(sb); System.out.println("替换完的字串为"+sb.toString());

这篇文章到这就结束了。

您可能感兴趣的文章:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wddpwy.html