1 / 17
文档名称:

(正则表达式)总结.doc

格式:doc   大小:52KB   页数:17页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

(正则表达式)总结.doc

上传人:raojun00001 2017/6/2 文件大小:52 KB

下载得到文件列表

(正则表达式)总结.doc

相关文档

文档介绍

文档介绍:( 正则表达式) 总结 1、正则表达式概述: 首先是表达式,是一种正确的规则去进行某一种是事物的操作, 用于对字符串进行操作的表达式,用于对字符串进行的操作好处:代码更为简洁、提供了一些符号来表示一些规则,其实这个规则内部还是有具体的代码来完成对字符串操作。简单说:好像是将代码进行封装、用符号进行了替代。弊端:正因为是符号表示的,所以要记住很多符号的使用,而且符号多了阅读性极差。 Eg: 对 QQ 号码进行校验要求: 1 、必须是 5到 15 位。 2 、必须是数字 3、0 不可以开头 String qq="234234234"; String regex="[1-9][0-9]{4,14}"; 这就是规则,作用在字符串上的规则。 Boolean b=(regex); 2 、正则表达式常见体现: 其实就是一些常见符号的注解,必须要了解,学****正则,其实就是在学****这些符号的使用。[a-zA-Z] 必须是字母[a-b[m-p]] :a到b 或者 m到p 预定义字符: .: 任何字符,与行结束符可能匹配也可能不匹配\d: 数字[0-9] 它是一个符号,不要以为是两个符号,不是转义。\D: 非数字[ -9] \s :空白字符\S: 非空白\w: 单词字符, [a-zA-Z_0-9] 字符数字下划线\W :非单词边界匹配器: \b: 单词边界数量词 X?: 一次或者一次也没有 X*: 没有或有多次 X+: 必有有一次或者多次 X{n}: 恰好 n次 X{n,}: 至少 n次 X{n,m}:n 到m 次之间 3 、正则表达式常用的功能: (重点) 1 、匹配: 其实是用的就是 String 类中的 matches 方法,将正则作用到指定的字符串上判断该字符串是否符合规则,返回真假。 Eg: 手机校验号码(面试题): Public static void checkTel(){ String tel="**********"; Boolean b=(regex); String regex="1[358][0-9]{9}"; //String regex="1[358]\\d{9}"; } 注意: 在字符串中单\ 代表的是转义字符, 所以为了保持原样必须把它表示原样性用\\ 来表示。 2 、切割: 其实就是使用的是 String 类中的 split 方法,将字符串按照指定的规则,变成一个字符数组,凡是参数是 regex 都是正则。 Eg: 切割字符串 Public static void splitString(){ String str=""; String regex="\\."; String[] arr=(regex); For(String s:arr){ Sop(s); }} 复杂切割: Str="wwadhdhffffhehe"; 用叠词来切割 String regex="(.)\\1+"; 正则里面封转是用()来进行的,拿小括号一封装会自动分组, 会有自动的编号,从1 开始编号,组: 是正则中封装的一种体现, 不写封装都不能写编号。。(.)( \\d ) \\2: 代表的是取第二组 Eg:((A) (B(C))) 有几组? 到底有几组和每组有谁,只看左括号就行了 1:((A)(B(C))) 2:(A) 3:(B(C)) 4:(C) 3 、替换: 其实用的是 String 类中的 replaceAll() 方法 Eg: 替换字符串: Public static void replaceString(){ String str="abcuuufl"; Str=("\\d{5,}","***"); Str="acdxxxxxxshdsYYYYsdahj"; 叠词替换成一个字 Str=("(.)\\1+","$1"); Sop(str); }4 、获取: 其实就是使用了正则表达式对象, . 1 、先将正则表达式编译成 Pattern 对象 2 、将 Pattern 对象将和要匹配的字符串关联,获取对应的匹配器对象。 Matcher 3 、通过匹配器对象 Matcher 对字符串进行操作了。 String regex="\\b[a-z]{3}\\