正则表达式Pattern ,Matcher
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 | 正则表达式:符合一定规则的表达式 作用:用于专门操作字符串 特点:用于一些特定的符号来表示一些代码的操作,这样就简化代码的书写 学习正则表达式就是要学习一些特殊符号的使用 好处:简化对字符串复杂的操作 1 、 匹配 String matches方法 2 、 切割 String spilt方法 3 、 替换 String repaceAll 4 、 截取 将字符串中符合规则的子串取出 对QQ号进行校验 要去: 5 - 15 0 不能开头,只能是数字 String regex = "[1-9]\d{4,14}" ;注意表示范围要用逗号 对手机号进行校验 String telReg = "1[358]\\d{9}" ; String tel = "15940366852" ; System.out.println(tel.matches(telReg)); 切割 空格出现一次或多次 String source = "213 21321 123213 " ; source.split( " +" ); // 按照叠词进行切割,为了让规则的结果被重用,可以将规则封装成一个组。 // 用()完成,有多少个左括号就有多少个组,组的出现都有编号。 // 从1开始。想要使用已有的组可以通过 \n(n就是组的编号)的形式进行获取 String source = "abbdfeekkkoooookk" ; String[] strs = source.split( "(.)\\1+" ); for (String string : strs) { System.out.println(string); } // 将叠词只保留一位 abdfekok // 在组外用$符号获取分组的结果 System.out.println(source.replaceAll( "(.)\\1+" , "$1" )); 截取步骤: 1 , 将正则表达式封装成对象 2 , 将正则表达式对应与要操作的字符串相关联 3 , 关联后获取正则匹配引擎 4 , 通过引擎对符合规则的子串进行操作,比如取出 source = "15940366852 15940366852 15940366852" ; regex = "1[359]\\d{9}" ; Pattern pattern = Pattern.compile(regex); Matcher m = pattern.matcher(source); System.out.println(m.matches()); //matches方法将整个字符串进行匹配,故返回false while (m.find()) { System.out.println(m.group()); } |
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 对象命名为何需要避免'-er'和'-or'后缀
· SQL Server如何跟踪自动统计信息更新?
· AI与.NET技术实操系列:使用Catalyst进行自然语言处理
· 分享一个我遇到过的“量子力学”级别的BUG。
· Linux系列:如何调试 malloc 的底层源码
· 对象命名为何需要避免'-er'和'-or'后缀
· JDK 24 发布,新特性解读!
· C# 中比较实用的关键字,基础高频面试题!
· .NET 10 Preview 2 增强了 Blazor 和.NET MAUI
· SQL Server如何跟踪自动统计信息更新?