已阅读5页,还剩17页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
正则表达式及其示例,传智播客视频+自己总结 很全面 很有借鉴价值 刘汪洋 2012.7.30,边界匹配器, 行的开头 $ 行的结尾 b 单词边界 B 非单词边界 A 输入的开头 G 上一个匹配的结尾 Z 输入的结尾,仅用于最后的结束符(如果有的话) z 输入的结尾,字符,x 字符 x 反斜线字符 t 制表符 (u0009) n 新行(换行)符 (u000A) r 回车符 (u000D) f 换页符 (u000C) a 报警 (bell) 符 (u0007) e 转义符 (u001B) cx 对应于 x 的控制符,字符类,abc a、b 或 c(简单类) abc 任何字符,除了 a、b 或 c(否定) a-zA-Z a 到 z 或 A 到 Z,两头的字母包括在内(范围) a-dm-p a 到 d 或 m 到 p:a-dm-p(并集) a-z&def d、e 或 f(交集) a-z&bc a 到 z,除了 b 和 c:ad-z(减去) a-z&m-p a 到 z,而非 m 到 p:a-lq-z(减去),预定义字符类,. 任何字符(与行结束符可能匹配也可能不匹配) d 数字:0-9 D 非数字: 0-9 s 空白字符: tnx0Bfr S 非空白字符:s w 单词字符:a-zA-Z_0-9 W 非单词字符:w,Greedy 数量词,X? X,一次或一次也没有 X* X,零次或多次 X+ X,一次或多次 Xn X,恰好 n 次 Xn, X,至少 n 次 Xn,m X,至少 n 次,但是不超过 m 次,Logical 运算符,XY X 后跟 Y X|Y X 或 Y (X) X,作为捕获组,字符类运算符的优先级,如下所示,按从最高到最低的顺序排列: 1 字面值转义 x 2 分组 . 3 范围 a-z 4 并集 a-ei-u 5 交集 a-z&aeiou,组和捕获,捕获组可以通过从左到右计算其开括号来编号。例如,在表达式 (A)(B(C) 中,存在四个这样的组: 1 (A)(B(C) 2 A 3 (B(C) 4 (C) 组零始终代表整个表达式。 之所以这样命名捕获组是因为在匹配中,保存了与这些组匹配的输入序列的每个子序列。捕获的子序列稍后可以通过 Back 引用在表达式中使用,也可以在匹配操作完成后从匹配器获取。,正则表达式中组的概念,() n 任何匹配的 nth 捕获组 捕获组可以通过从左到右计算其开括号来编号。例如,在表达式 (A)(B(C) 中,存在四个这样的组: 1 (A)(B(C) 2 A 3 (B(C) 4 (C) 组零始终代表整个表达式。 (A)(B(C) 1表示第一个括号 $1另参数引用 1 2 3 4 从左向右的顺序,匹配-校验手机号,例如 String tel =; String regux = “13580-99”; boolean b=tel.matchs(gre); System.out.println(b); 也可将 regux =“1358d9”;,切割,String tel =“zhangsan lisi wangwu”; String regux = “ +”; String names = tel.split(regux); for(String name:names) System.out.println(name); 也可以写成String regux = “ s+”;,正则表达式 切割,String tel =“zhangsanttttlisigggggggwangwu”; String regux = “(.)1+”; String names = tel.split(regux); for(String name:names) System.out.println(name); ()表示组 1表示第一组(第一个括号的内容,需要转移),正则表达式 替换,将重复的字符替换成#号 String str =“zhangsanttttlisigggggggwangwu”; str = str.replaceAll(“(.)1+,”#”); System.out.println(str1 );,将重复的字符换成单个,String str =“zhangsanttttlisigggggggwangwu”; str = str.replaceAll(“(.)1+”,”$1”); System.out.println(str1 ); ”$1”的意思是 获取前一个参数中的第一组,电话号码部分位数替换为*,效果187*252 String tel =“; tel = tel.replaceAll(“(d3)d5(d3)”),”$1*$2”; System.out.println(tel);,正则表达式获取,Pattern p = Ppile(“a*b“); 将正则规则进行对象的封装 Matcher m = p.matcher(“aaaaab“); 通过正则对象的 Matcher 方法 与字符串相关联。获取要对字符串操作的匹配器对象Matcher 方法。 boolean b = m.matches(); 通过匹配器对象方法 对字符串进行操作。,String words = “There is a dog on the desk!”; String regex =“ba-z3b”;需有单词边界 /将正则封装成对象 Pattern p = Ppile(regex); /通过正则表达式获取匹配器对象 Matcher m = p.matcher(words); /使用Matcher方法对字符串进行操作 While(m.find() System.out.println(m.group();,基本方法,int start() 返回以前匹配的初始索引。 String replaceAll(String replacement) String group() 返回由以前匹配操作所匹配的输入子序列 int end() 返回最后匹配字符之后的偏移量。 boolean find() 尝试查找与该模式匹配的输入序列的下一个子序列。,/*将“口吃”的话,改为正常*/,public static void demo_one() String str =“给.给我的的的的的.手手手手手机“; /将其中的 逗号去掉 str = str.replaceAll(“(.)+“, “); System.out.println(str); / 去掉重复的汉字 str= str.replaceAll(“(.)1+“, “$1“); System.out.println(str); ,ip 地址排序,public static void demo_two() String str =“3 55 4“; /补零 str = str.replaceAll(“(d+)“, “00$1“); / 防止位数高于三位 取后三位(高出的位数都是零) str= str.replaceAll(“0+(d3)“, “$1“); /将每个ip 地址分隔开来 String ips = str.split(“ +“); /添加到集合 TreeSet ipsort = new TreeSet(); for (String ip:ips) ipsort.add(ip); /打印原有IP地址 for (String ip:ipsort) System.out.println(ip.replaceAll(“0*(d+)“, “$1“)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024三年级语文下册专项复习素质评价积累与运用习题课件新人教版
- 赣粤公司人事劳资管理试行办法(修改稿)
- 学前教育的培养目标与特征
- 跨国公司和全球商务培训
- 焙烤食品制造的烘烤均匀度控制
- 铬矿资源的市场供需情况与预测
- 白酒企业的员工激励与团队建设
- 铁矿石市场的消费者行为与需求分析
- 广东省深圳2024年中考语文模拟试题含解析
- 湖南省郴州市2024届高三年级下册二模语文含解析
- 小红书推广合同模板
- 煤矸石充填塌陷区复垦技术规程-编制说明
- RB/T 113-2023能源管理体系氯碱和电石企业认证要求
- 学校食堂整改方案及整改措施(2篇)
- 八年级下册《唐诗三首》中考复习素材之古诗文理解性默写背诵与强化训练
- 2024广东深圳市龙岗区城投城市服务有限公司宝龙分公司招聘笔试冲刺题(带答案解析)
- 氧气雾化吸入疗法课件
- 2024年晋城市丹河新城建设投资集团有限公司招聘笔试冲刺题(带答案解析)
- 中国省市地图拼图-英文版-English-version.ppt
- 村级会计报表
- 留学生信用卡产品推介ppt课件.ppt
评论
0/150
提交评论