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中提供了对正则表达式的支持,使得开发者可以使用正则表达式来匹配和提取字符串中的内容。 二、XML节点内容提取方法 在Java中,可以使用正则表达式来提取XML节点内容。下面是一个简单的示例: ```java public ...
正则表达式是一种强大的文本模式匹配工具,可以用于搜索、替换或者提取符合特定规则的字符串。在本篇文章中,我们将深入探讨如何利用Java中的Xeger和automaton库来根据正则表达式生成随机字符串。 首先,我们要了解...
java 利用正则表达式从字符串中提取省、市、区、镇、乡等区域名称(包含少数民族地区),支持地址中无省,无市,无县情况。
该方法使用了正则表达式来匹配字符串中的左边字符,然后将匹配的字符串返回。 正则表达式是一种非常强大的字符串匹配工具,通过使用正则表达式,我们可以实现字符串的各种操作,例如匹配、验证、提取和替换等。然而...
其中包括5个类,这5个类的代码基本概括了java正则表达式替换String的多种情况,比如获取某个文件路径中盘符/后边的部分内容,提取"<title>XXXX</title>"中的文字XXXX,用正则表达式获取指定字符串内容中的指定内容,...
给写了2个方法,一个是直接截取单个需要的字符串,比如字符串string a="ab123456",我只需要提取3,那么就是单独截取就可以了,从2开始到4结束就行。 第二个是把所有的符合条件的字符串都截取出来,提取出来,比如...
为了更好地理解如何在MySQL中使用正则表达式,下面我们通过几个具体的例子来展示其应用: 1. **查找以特定字符开头的数据** - **SQL语句**: ```sql SELECT name FROM person_tbl WHERE name REGEXP '^st'; ```...
标题“用正则表达式提取SQL”涉及到的是在编程中如何使用正则表达式来从文本或代码中抓取SQL语句的相关知识。在IT领域,正则表达式(Regular Expression)是一种强大的文本处理工具,它能快速地匹配、查找、替换或者...
`regex_match`检查输入的字符串是否完全匹配正则表达式,而`regex_search`则在字符串中查找是否存在符合正则表达式的部分。 3. **迭代器接口**:`regex_iterator`和`regex_token_iterator`允许你遍历输入字符串中...
例如,你可以创建一个正则表达式对象,然后使用它来测试字符串是否符合特定模式,或者从字符串中提取匹配的子串。 在实际应用中,使用正则表达式可能涉及到以下步骤: 1. 创建正则表达式:定义你要匹配的模式,例如...
2. **查找**:在字符串中查找符合正则表达式的部分。 3. **替换**:用新的字符串替换匹配到的正则表达式部分。 4. **分割**:根据正则表达式将字符串分割成多个子串。 5. **捕获组**:提取匹配的子串,特别是对于...
本文将详细介绍如何使用Java正则表达式提取字符串中的特定字符。 首先,了解什么是正则表达式是非常有必要的。正则表达式(Regular Expression)是一种特殊字符序列,用于匹配一组字符串。在Java中,通过java.util....
1. 正则表达式基础:正则表达式是一种模式匹配工具,用于在字符串中搜索、替换和提取特定模式。 2. 正则表达式对象:在C#中,使用`System.Text.RegularExpressions`命名空间下的`Regex`类来处理正则表达式。 3. ...
在探讨如何利用正则表达式来判断一个字符串除指定字符外不包含其他特殊字符之前,我们首先需要了解正则表达式的基本概念以及本场景中的具体需求。 ### 正则表达式简介 正则表达式是一种强大的文本处理工具,能够...
正则表达式(Regular Expression)是一种模式匹配工具,用于在文本中查找、替换或提取符合特定规则的字符串。在IT行业中,正则表达式被广泛应用于数据验证、文本处理、爬虫程序等领域,特别是在判断手机号码和邮箱...
`Regex`类包含了许多静态方法,如`Matches`、`Match`、`Split`等,这些方法可以用来查找字符串中的模式匹配项,从而实现文本的分析和提取。 #### 示例代码解析 给出的代码片段展示了如何使用C#的正则表达式来提取...
本教程将深入探讨如何使用C#.NET中的正则表达式(Regex类)来拆分字符串。 首先,我们需要理解C#中的`System.Text.RegularExpressions`命名空间,它包含了对正则表达式操作的支持。在使用正则表达式之前,你需要...
而“正则表达式随机生成字符串工具”则是一个能够根据预设的正则规则,自动生成符合该规则的随机字符串的实用程序。 这个工具的核心功能在于其灵活性和多样性。通过定义不同的正则表达式,用户可以生成各种类型的...
本文将介绍如何使用正则表达式结合replace方法的回调函数功能来获取字符串中特定字符。这一技能在处理字符串数据时尤为有用,例如提取配置信息、处理URL参数等场景。 ### 正则表达式基础 正则表达式(Regular ...