初识正则表达式
2013-09-24 12:10
190 查看
正则表达式:符合一定规则的表达式,用于专门操作字符串。有了正则表达式操作字符串更方便
上例中用于检查qq。只要先定义了正则表达式regex再调用matches方法判断是否符合指定规则。
正则表达式用指定的符号表达一些代码操作,学习正则表达式就是学习这些特殊符号的使用。平时也可以参考API文档。
正则表达式的操作主要有:匹配,切割,替换,获取。
匹配:调用String 的matches方法
上面包含一些比较常用的符号,最好掌握。
切割:调用String的split方法
上例中以"."为分割符,在java中写成"\\."。
按照叠词完成切割
上例的正则用到组即用括号包起来的内容,后面就可以重用到这个规则。其中1表式第一组。该正则的意思即至少包含2位单词字符。
替换:调用String的replaceAll方法
将叠词替换成单个字母如何实现
其中“$”为特殊字符,可调用前一个正则表达式中的组,1代表哪一组。
获取:
将正则表达式封装成对象
让正则对象和要操作的字符串相关联
关联后,获取正则匹配引擎
通过引擎对符合规则的子串进行操作,比如取出。
上例中用到了Pattern,Matcher类来获取字符。其实字符串的匹配matches方法封装的就是这两个类实现的代码,即上例中m.matches()方法,注意该方法调用后字符串的索引会移动。
Matcher的功能还有很多,有兴趣可以自己查询API学习。
上例中用于检查qq。只要先定义了正则表达式regex再调用matches方法判断是否符合指定规则。
正则表达式用指定的符号表达一些代码操作,学习正则表达式就是学习这些特殊符号的使用。平时也可以参考API文档。
正则表达式的操作主要有:匹配,切割,替换,获取。
匹配:调用String 的matches方法
String str = "a2az!"; String regex = "[.][\\d][\\D][\\w][\\W]"; String regex2 = "[\\d]*[a-z]+"; System.out.println(str.matches(regex));
上面包含一些比较常用的符号,最好掌握。
切割:调用String的split方法
String str ="zhangsan.lisi.wangwu"; String reg ="\\."; String[] arr = str.split(reg); for(String s:arr){ System.out.println(s); }
上例中以"."为分割符,在java中写成"\\."。
按照叠词完成切割
String str ="aqqbzzzcwwwdyyyef"; String reg ="(\\w)\\1+"; String[] arr = str.split(reg); for(String s:arr){ System.out.println(s); }
上例的正则用到组即用括号包起来的内容,后面就可以重用到这个规则。其中1表式第一组。该正则的意思即至少包含2位单词字符。
替换:调用String的replaceAll方法
String str = "w79744w4208w"; String reg = "\\d" ; str = str.replaceAll(reg, "#"); System.out.println(str);
将叠词替换成单个字母如何实现
String str = "ccc79744sss42ddd08nnn"; str = str.replaceAll("(\\D)\\1+", "$1"); System.out.println(str);
其中“$”为特殊字符,可调用前一个正则表达式中的组,1代表哪一组。
获取:
将正则表达式封装成对象
让正则对象和要操作的字符串相关联
关联后,获取正则匹配引擎
通过引擎对符合规则的子串进行操作,比如取出。
String str ="ming tian jiu yao fang jia le"; String reg ="\\b[a-z]{3}\\b";//获取3个字母组成的单词 Pattern p = Pattern.compile(reg);//将规则封装成对象 Matcher m = p.matcher(str);//让正则对象与字符串相关联,获取匹配器对象 while(m.find()){//将规则的做得到的字符串上,并进行符合规则的查找 System.out.println(m.group());//获取已匹配过的结果 调用前先m.find() }
上例中用到了Pattern,Matcher类来获取字符。其实字符串的匹配matches方法封装的就是这两个类实现的代码,即上例中m.matches()方法,注意该方法调用后字符串的索引会移动。
Matcher的功能还有很多,有兴趣可以自己查询API学习。
相关文章推荐
- 正则表达式初识
- Linux的文本处理工具grep及初识正则表达式
- Python正则表达式初识(七)
- Java——正则表达式_初识网络爬虫
- Python正则表达式初识(九)
- 初识c#---字符串string和正则表达式
- Python学习笔记 ——正则表达式初识
- 初识java正则表达式
- 初识正则表达式
- Python正则表达式初识(四)
- C#----初识正则表达式
- 01-初识正则表达式
- 初识正则表达式的用法和require和include 的区别
- 初识正则表达式
- Javascript的表单验证-初识正则表达式
- 正则表达式——初识正则表达式
- 初识正则表达式
- 初识正则表达式
- shell编程学习笔记之正则表达式初识
- 初识grep及正则表达式