黑马程序员05_正则表达式
来源:互联网 发布:农村淘宝怎么取消绑定 编辑:程序博客网 时间:2024/06/06 00:10
---------------------- ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------
正则表达式:
符合一定规定的表达式。
作用:用于专门操作字符串。
特点:实际上就是一些特定的符号来表示一些代码操作。
好处:简化书写,提高开发效率。
弊端:符号定义越多,正则越长,阅读性越差。
下面是正则表达式的一些规则。[0-9]可以用\d来代替
{0,1}可以用?代替
匹配:
校验手机号小程序:
手机号段13、15、18
package com.xiaozhi.regex;public class Test {public static void main(String[] args) {String str="13553123456";String regex="1[358]\\d{9}";System.out.println(str.matches(regex));}}
切割:
按照叠词切割字符串:
( . ) \\ 1括号的意思是分组,后面的1是第一组的意思
package com.xiaozhi.regex;public class Test {public static void main(String[] args) {String str="gffadgggfag";String regex="(.)\\1+";String[] arr=str.split(regex);for(String string:arr){System.out.println(string);}}}
替换:
$1的意思是将第一个分组的中的字符取出
package com.xiaozhi.regex;public class Test {public static void main(String[] args) {String str="gffadgggfag";String regex="(.)\\1+";System.out.println(str.replaceAll(regex,"$1"));}}
获取:
package com.xiaozhi.regex;import java.util.regex.Matcher;import java.util.regex.Pattern;public class Test {public static void main(String[] args) {String str="ming tian jiu yao fang jia le ,wo men";String regex="\\b[a-z]{4}\\b";//将正则表达式封装成对象Pattern pattern=Pattern.compile(regex);//让正则表达式与字符串相关联,获取匹配器对象Matcher matcher=pattern.matcher(str);while(matcher.find()){//尝试查找与该模式匹配的输入序列的下一个子序列。System.out.println(matcher.group());//返回由以前匹配操作所匹配的输入子序列。System.out.println(matcher.start()+"............."+matcher.end());//返回以前匹配操作所匹配的输入子序列的偏移量}}}
练习一:
package com.xiaozhi.regex;public class Test2 {public static void main(String[] args) {String str="我我........我我.......我要.........学学.........编编..............编程";str=str.replaceAll("\\.","");String regex="(.)\\1+";str=str.replaceAll(regex, "$1");System.out.println(str);}}
将ip地址进行地址段顺序的排序
package com.xiaozhi.regex;import java.util.Arrays;public class Test3 {public static void main(String[] args) {String ip = "192.68.1.254 102.49.23.013 10.10.10.10 2.2.2.2 8.109.90.30";ip=ip.replaceAll("(\\d+)","00$1");ip=ip.replaceAll("0*(\\d{3})","$1");System.out.println(ip);String[] array=ip.split(" ");Arrays.sort(array);for(String str:array){System.out.println(str);}}}
---------------------- ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------
0 0
- 黑马程序员05_正则表达式
- 黑马程序员_正则表达式
- 黑马程序员_正则表达式
- 黑马程序员_正则表达式
- 黑马程序员_正则表达式
- 黑马程序员_正则表达式
- 黑马程序员_正则表达式
- 黑马程序员_正则表达式
- 黑马程序员_ 正则表达式
- 黑马程序员_正则表达式
- 黑马程序员_正则表达式
- 黑马程序员_正则表达式
- 黑马程序员_正则表达式
- 黑马程序员_正则表达式
- 黑马程序员_正则表达式
- 黑马程序员_正则表达式
- 黑马程序员_正则表达式
- 黑马程序员_正则表达式
- oracle pl sql 隐式游标SQL
- jQuery树形菜单(2)jquery-easyui
- 2014ACM集训13级PK赛3-Modular Inverse
- 尊重原创,请保证您的文章为原创作品
- 从键盘输入一系列字符串。写入到某磁盘文件中
- 黑马程序员05_正则表达式
- 【转】Orion - oracle提供的测试io性能的工具
- EF中关于存储过程的操作
- OpenCV学习笔记-自适应阈值化
- LeetCode Convert Sorted List to Binary Search Tree
- 2014ACM集训13级PK赛3-Yet Another Story of Rock-paper-scissors
- Android笔记- fragment 基本了解
- 建DNS之缓存,解Ubuntu之网慢
- Windows下用C++关闭某个窗口的简单方法