java正则表达式2 -- 匹配、切割、查找
import java.util.Arrays; /*
正则表达式的作用: 1 匹配 2 切割 3 替换 * */
public class Demo1 {
public static void main(String[] args) {
isPhone("0314-16610306");
cutStr1("火 影 忍 者");
cutStr2("大家家明天天玩的的的的的开心");
replaceSame("大家家明天天玩的的的的的开心");
} //匹配固话: 区号-主机号 区号:首位为0,长度为3-4位 主机号:首位不能为0,长度7-8位
public static void isPhone(String phone){
System.out.println(phone.matches("0\\d{2,3}-[1-9]\\d{6,7}")?"合法固话 ":"非法固话");
} //切割 通过split
//需求:按照空格切割字符串 = 火 影 忍 者
public static void cutStr1(String str){
String[] splits = str.split(" +");
System.out.println("数组元素:" + Arrays.toString(splits));
}
//需求:按照叠词分割字符串=大家家明天天玩的的的的的开心
public static void cutStr2(String str){
String[] splits = str.split("(.)\\1+");
System.out.println("数组元素:" + Arrays.toString(splits));
} //替换
//字符串去重:大家家明天天玩的的的的的开心
public static void replaceSame(String str){
//把后几号替换成****
String s = "大家家明13211525558天天玩18356457889的的的的的开心";
System.out.println("被替换后的内容" + s.replaceAll("1[3478]\\d{9}+", "****")); //去重并替换
System.out.println(str.replaceAll("(.)\\1+", "$1"));
//(.)任意字字符成组,\\1捕获1次;叠词,$1得到1组, 取前面的组1次或多次
}
}
运行结果:
java正则表达式2 -- 匹配、切割、查找的更多相关文章
- java 正则表达式获取匹配和非获取匹配
package test1; import java.util.regex.Matcher; import java.util.regex.Pattern; public class TestExp ...
- java正则表达式取出匹配字符串
import java.util.regex.Matcher; import java.util.regex.Pattern; public class RegexMatches { public s ...
- php第五天-正则表达式,字符串的匹配与查找函数,数组切割
在php中有两套正则表达式,两者功能相似,一套是由PCRE,使用"preg_"为前缀命名的函数,一套是由POSIX拓展提供的,使用以"ereg_"命名的函数 0 ...
- java正则表达式四种常用的处理方式是怎么样呢《匹配、分割、代替、获取》
java 正则表达式高级篇,介绍四种常用的处理方式:匹配.分割.替代.获取,具体内容如下package test; import java.util.regex.Matcher; import jav ...
- Java正则表达式匹配例子
Java正则表达式匹配例子 package com.ibm.test; import java.util.regex.Matcher; import java.util.regex.Pattern; ...
- Java如何在正则表达式中匹配重复单词?
在Java编程中,如何在正则表达式中匹配重复单词? 以下示例显示了如何使用regex.Matcher类的p.matcher()方法和m.group()方法在正则表达式中搜索重复的单词. package ...
- 恕我直言你可能真的不会java第9篇-Stream元素的匹配与查找
在我们对数组或者集合类进行操作的时候,经常会遇到这样的需求,比如: 是否包含某一个"匹配规则"的元素 是否所有的元素都符合某一个"匹配规则" 是否所有元素都不符 ...
- java 数据类型String 【正则表达式】匹配
1,什么是正则表达式 正则表达式是用来处理字符串的,其实正则表达式是非常复杂的,专门去系统学习需要花很长的时间,我们课程主要就是把常用的基础的给大家讲解. 正则表达式可以用来干什么: (1),匹配字符 ...
- 【JAVA正则表达式】
一.String类. java.lang.Object |--java.lang.String 常用方法: String replaceAll(String regex, String replac ...
随机推荐
- oracle删除一个表内的重复数据,
查询以及删除一个数据库表内的重复数据. 1.查询表中的多余的重复记录,重复记录是根据单个字段来判断的. select * from biao where id in (select id from b ...
- iOS之一个iOS开发人员完整的学习路线
iOS开发能力 掌握(最好是精通)OC语言和runtime各种细节(读过相关的clang源码和runtime源码为佳).精通基本的framework(Foundation,UIKit等,平时干活用得最 ...
- HTML5新标签的兼容性处理
普通浏览器 普通不支持HTML5新标签的浏览器 -- 能正常解析,但会当初成 inline 元素对待 在不支持HTML5新标签的浏览器里,会将这些新的标签解析成行内元素(inline)对待,所以我们只 ...
- dropload上拉加载更多
<link href="~/Scripts/dropload/dropload.min.css" rel="stylesheet" /> <s ...
- [USACO06NOV]玉米田Corn Fields(动态规划,状态压缩)
题目描述 Farmer John has purchased a lush new rectangular pasture composed of M by N (1 ≤ M ≤ 12; 1 ≤ N ...
- chromium之tracked
//------------------------------------------------------------------------------ // Tracked is the b ...
- Linux系统运维基础测试题
1 Linux运维基础测试题(第一关) 通过这段时间学习Linux基础命令,为了检测自己对Linux基础命令掌握的情况,从网上整理13到测试题,并将其整理出来供大家参考学习. 1.1 习题 ...
- flex布局设置min-width
在一个flex布局中,对于一个设置了flex属性设置为1的div容器,再对其设置min-width:0,保证内容不超出外层容器
- java对接微信支付
对接微信扫码支付(模式2),前端使用velocity技术 (1)调用微信支付接口(view层) 此部分业务逻辑部分可以省略 @RequestMapping("/wxpay.htm" ...
- HTML5+ MUI实现ajax的一个demo
index.html <!DOCTYPE html> <html> <head> <meta charset="utf-8"> &l ...