首页 > 代码库 > java正则表达式使用
java正则表达式使用
用正则表达式进行字符串校验,截取十分方便,项目开发中灵活的使用正则表达式能让你的代码简洁优雅并且不易出错。在实际的应用中,掌握以下几点知识就可以应付绝大多数的开发场景了。
1、 字符串开始结束匹配:^$。
^abc$完全匹配字符串abc。
2、 特定类型字符匹配:数字\d,数字字母下划线\w,空格\s,任意字符.。
3、 重复匹配:重复0次或1次?,重复1次及以上+,重复0次及以上*,重复m到n次{m,n},重复m次以上{m,}。
\d+标识有一个或多个数字组成的字符串,比如0,10,110。
4、 单个字符或[],|。
[ab]表示a或b,a|b表示a或b。
5、 字符串或(|)。
(ab|bc)表示ab或者bc。
6、 非[^]。
[^a]表示不是a的一个字符;[^ab]表示不是a且不是b的一个字符;[^ab]+表示一个或多个字符,且每个字符都不是a或b。
Java中,String.matches(regex)进行字符串正则表达式校验;String.replaceAll()进行正则表达式替换;Pattern,Matcher则可以进行正则表达式匹配,查找,替换等一系列操作。下面是代码实例:
package com.coshaho.learn.reg; import java.util.regex.Matcher; import java.util.regex.Pattern; public class RegexTest { public static void main(String[] args) { // 重复 String regex = "^\\s*\\d+{1,3}\\w+ .?$"; String str = " 110hkx_ @"; System.out.println(str.matches(regex)); // 字符或 regex = "^[abc]$"; // 等价于^a|b|c$ str = "b"; System.out.println(str.matches(regex)); // 字符串或 regex = "^(ab|cd)$"; str = "ab"; System.out.println(str.matches(regex)); // 非 regex = "^[^abc]$"; str = "d"; System.out.println(str.matches(regex)); regex = "\\[([^\\[\\]]+)\\]\\.\\[([^\\[\\]]+)\\]"; str = "[device].[cpu] + [interface].[tranffic] >= 2"; Pattern pattern = Pattern.compile(regex); Matcher matcher = pattern.matcher(str); while(matcher.find()) { System.out.println(matcher.group()); if(2 == matcher.groupCount()) { System.out.println(matcher.group(1)); System.out.println(matcher.group(2)); } } regex = "\\d+"; str = "abc123def456hijk789xyz"; System.out.println(str.replaceAll(regex, " ")); } } /** 输出值 true true true true [device].[cpu] device cpu [interface].[tranffic] interface tranffic abc def hijk xyz **/
java正则表达式使用
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。