package cn.com.songjy.test;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class RegexTest {
public static void main(String[] args) {
String regex = "\\[{1}(.+)\\]{1}";
String str = "短信中包含以下敏感字:[fuck,shit,bitch]并且号码中包含以下黑名单:张三-13701234567,李四-18701234567";
System.out.print("敏感字如下:");
System.out.println(getKeyWords(regex, str));
System.out.print("黑名单号码如下:");
System.out.println(getMobiles(str));
System.out.println("字符替换:"+replaceStr("我喜欢红色"));
}
//提取 中括号中关键字
public static String getKeyWords(String regex,String str){
Pattern p = Pattern.compile(regex);
Matcher m = p.matcher(str);
if(m.find()){
return m.group(1);
}
return null;
}
//提取字符串中的手机号码
public static String getMobiles(String str) {
Pattern p = Pattern.compile("(\\+86|)?(\\d{11})");
Matcher m = p.matcher(str);
StringBuilder sb = new StringBuilder();
while (m.find()) {
if(sb.length()>0)
sb.append(",");
sb.append(m.group(2));
}
/*
* 不加"()"也能将手机号码输出 添加"()"是为了筛选数据添加上去的,
* 第一对"()"是为了获取字符串"+86",代码是System.out.println(m.group(1));,
* 第二对"()"是获取11位纯数字电话号码, 本次的输出的手机号码中包含了"+86",如果只要11位数字号码,
* 可将代码改为System.out.println(m.group(2));
*/
//System.out.println(m.groupCount());// 该行代码是输出有几对"()",即捕获组个数,本次输出结果是2,因为有两对"()"
return sb.toString();
}
//替换字符
public static String replaceStr(String str){
String regex = "红";
Pattern p = Pattern.compile(regex);
Matcher m = p.matcher(str);
return m.replaceAll("绿");
}
}
正则排除字符串
分享到:
相关推荐
一个用于正则匹配检查的工具,用于使用正则表达式提取字符串!
java 利用正则表达式从字符串中提取省、市、区、镇、乡等区域名称(包含少数民族地区),支持地址中无省,无市,无县情况。
主要介绍了Java使用正则表达式提取XML节点内容的方法,结合具体实例形式分析了java针对xml格式字符串的正则匹配相关操作技巧,需要的朋友可以参考下
其中包括5个类,这5个类的代码基本概括了java正则表达式替换String的多种情况,比如获取某个文件路径中盘符/后边的部分内容,提取"<title>XXXX</title>"中的文字XXXX,用正则表达式获取指定字符串内容中的指定内容,...
给写了2个方法,一个是直接截取单个需要的字符串,比如字符串string a="ab123456",我只需要提取3,那么就是单独截取就可以了,从2开始到4结束就行。 第二个是把所有的符合条件的字符串都截取出来,提取出来,比如...
获取 的功能是正则表达式来提取字符串中符合要求的文本; 替换 的功能是查找字符串中符合正则表达式的文本,并用相应的字符串替换; 分割 的功能是使用正则表达式对字符串进行分割。 正则表达式检索与替换 正则...
MySQL正则表达式使用方式详细解释 案例分析 资料总结规则 正则表达式 详细内容简介 学习内容 MySQL进阶必学内容
提取了boost::regex里边的几个正则表达式匹配搜索接口,打包成DLL,以在不依赖于boost的情况下独立编译运行
正好遇到一个需求需要将字符串中特定的字符全部提取出来,这个如果是按常规的字符串处理的话非常的繁琐。于是想到用正则表达式来完成,对java正则表达式提取字符的方式实例感兴趣的朋友一起学习吧
主要介绍了JS正则表达式获取字符串中得特定字符,通过replace的回调函数获取,需要的朋友可以参考下
JS正则表达式提取字符串中所有汉字的脚本
VBA正则提取A字符串之后B字符串之前中间的内容.txt
通过使用正则表达式,方便的提取出字符串中用双引号括起来的数字字段,并去掉其千分位号,也可用来去除一对双引号。可以借助贪婪模式,进行最小匹配。 string teststr="2323,232323,fff,\"344,34,734\",34365,65656,...
主要给大家介绍了利用正则表达式提取固定字符之间的字符串,文中给出了详细的示例代码,需要的朋友可以参考借鉴,下面来一起看看吧。
正则表达式用于字符串处理、表单验证等场合,实用高效。现将一些常用的表达式收集于此,以备不时之需
java代码,从image标签中正则匹配取出src标签的内容,java代码,从image标签中正则匹配取出src标签的内容
给大家介绍了c++使用正则表达式提取关键字的方法,相对来说比较简单,同时给大家提到了c++通过正则表达式提取匹配到的字符串的方法,非常不错,具有一定的参考借鉴价值,需要的朋友参考下吧
C#正则提取中文,通过正则分割,提取正文字符。
“正则表达式自动生成器”可以自动生成正则表达式,测试正则表达式,可视化显示结果,导出提取字符串,你所要做的,仅仅是几下鼠标点击! 正则表达式自动生成器主要功能: 自动生成正则表达式 编辑并测试正则...