`
your233
  • 浏览: 276269 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

使用正则表达式过滤敏感词(可以过滤中间空格)

阅读更多
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

/**
* @author fanggt
*
*/
public class Test {

/**
* @param args
*/
public static void main(String[] args) {

String str = "fuck";
String str1 = "shit";
List<String> list = new ArrayList<String>();
list.add(str);
list.add(str1);
String filterStr = isFilter(list,"fu 是ck sfshi t sf士大夫");
if(null != filterStr)
{
System.out.println("其中"+filterStr+"是禁用词!");
}
}

public static String isFilter(List<String> list,String inputWords)
{
changePattern(list);
Iterator it = list.iterator();
while(it.hasNext())
{
String patStr = (String)it.next();
Pattern pattern = Pattern.compile(patStr);
Matcher matcher = pattern.matcher(inputWords);
if(matcher.find())
{
//去掉正则表达式
return patStr.replaceAll("\\\\s\\*", "");
}
}
return null;
}
/**
* 修改list
* @param list
*/
public static void changePattern(List<String> list)
{
if(null != list && list.size()>0)
{
int index = 0;
Iterator it = list.iterator();
while(it.hasNext())
{
String str = (String) it.next();
int length = str.length();
//将字符加上正则表达式
String temp = "";
for (int i = 0; i < length; i++) {
if(i==0){
temp += str.charAt(i);
continue;
}
temp = temp + "\\s*"+str.charAt(i);
}
list.set(index, temp);
index ++;
}
}
}
}
分享到:
评论

相关推荐

    教你轻松记住JS正则表达式

    例如,进行敏感词过滤操作,可以将特定内容替换为星号等。这种方法在处理文本数据时非常有用,尤其是在需要对数据进行清洗和格式化时。 总结来说,通过本文档的学习,我们了解到了JavaScript正则表达式的定义、创建...

    C# 敏感词过滤类 避让词汇中的特殊字符

    总的来说,"C# 敏感词过滤类 避让词汇中的特殊字符"是一项涉及文本处理、正则表达式、数据结构和算法的复杂任务,对于维护在线环境的秩序和安全至关重要。理解并掌握这些技术,可以帮助开发者构建更健壮、更高效的...

    php做的敏感词过滤,功能很强大喔!神马敏感词都得过滤掉

    为了避免这种情况,可以使用正则表达式的边界匹配,确保只替换完整的敏感词。例如,使用`preg_replace()`: ```php $text = "这是一个包含敏感词的句子"; $sensitive_words = array("/敏感词1/", "/敏感词2/"); ...

    js高级.pdf

    #### 一、正则表达式的基本概念及使用 正则表达式(Regular Expression)是一种强大的文本处理工具,它能够帮助我们进行复杂的字符串搜索和替换操作。在JavaScript中,正则表达式被广泛应用于数据验证、文本查找与...

    C# 繁体转中文,中文转繁体,数字转中文(人民币),中文转数字(人民币)支持敏感词过滤

    C#可以通过构建一个敏感词列表,然后使用正则表达式或者字符串的Contains、IndexOf等方法检查输入文本是否包含敏感词。一旦发现敏感词,可以选择替换、删除或者标记出来。 在提供的"ConsoleApp4"这个项目文件中,...

    基于thinkphp6+ 实现的敏感词检测,过滤,标记源代码

    - **正则表达式**:使用正则表达式处理特定格式的敏感信息,如电话号码、身份证号等。 - **性能优化**:对于高并发场景,可能需要对算法进行优化,如使用内存缓存敏感词库,减少磁盘I/O。 在ThinkPHP6框架中,...

    minganci-filter.zip

    2. **正则表达式匹配**:对于更复杂的情况,如变体词、拼音、缩写等,可以使用正则表达式进行更灵活的匹配。这种技术可以捕捉到敏感词的各种变化形式,提高过滤效率。 3. **模糊匹配**:考虑到部分敏感词可能会通过...

    Python小程序练习-敏感词替换成星号

    此外,还可以使用正则表达式库`re`来实现更复杂、更高效的敏感词替换。正则表达式提供了匹配和替换的高级功能,例如全局搜索和替换,以及更灵活的模式匹配。 通过这个Python小程序练习,不仅可以提升对字符串操作和...

    易语言百度采集

    用户可以根据自己的需求定制搜索条件,利用正则表达式进行数据过滤,通过URL编码和替换子文本处理数据,最终获取到想要的网页源码。这样的工具对于数据分析、市场研究或者自动化信息获取等工作非常有用。

    过滤特定单词

    5. **正则表达式**:除了基本的字符串操作,还可以利用正则表达式来实现更复杂的过滤规则。比如,可以一次性删除所有以特定前缀或后缀的单词,或者匹配含有特定字符模式的单词。 6. **处理特殊情况**:在实际应用中...

    敏感词抽取Java,直接可运行

    这可能涉及到正则表达式或者自定义的匹配规则。 5. **优化**:为了提高性能,可能需要对算法进行优化,例如使用字典树预处理敏感词,或者使用动态规划减少重复搜索。 6. **日志记录**:在实际应用中,可能会有日志...

    易语言字符过滤

    7. **实战应用**:字符过滤常应用于各种场景,如网页表单提交时的数据验证,防止SQL注入,聊天软件中的敏感词过滤,文件名或路径的合法性检查等。 8. **扩展与优化**:除了基本的字符过滤,还可以考虑增加多线程...

    php提交表单时保留多个空格及换行的文本样式的方法

    在Web开发中,表单提交是一个常见...总结来说,PHP在处理表单数据时保留空格和换行格式涉及使用正则表达式来处理特殊字符,并且可能需要对敏感词进行替换操作。同时,要兼顾用户输入验证和安全性,防止潜在的安全风险。

    Spear.zip_C#编程_C#_

    3. **正则表达式**:为了更精确地识别和处理敏感词,可以使用正则表达式(`System.Text.RegularExpressions.Regex`)。通过正则表达式,我们可以查找、替换或者分割字符串中的特定模式,对于复杂的过滤规则尤为适用...

    js验证,javascript

    为了确保表单中的数据符合特定要求,可以使用正则表达式来限制用户只能输入汉字。 **示例代码:** ```javascript (/[^\u4E00-\u9FA5]/g,'')"&gt; ``` **解析:** - **正则表达式**:`[^\u4E00-\u9FA5]` 表示匹配非汉字...

    易语言数组文本替换

    2. 文本过滤:在聊天室或论坛系统中,可以使用数组文本替换来过滤敏感词,保护社区环境。 3. 日志处理:在日志分析中,可能需要将特定的日志关键字替换为更友好的显示方式。 4. 文件内容替换:在批量处理文件内容...

    前端项目-underscore.string.zip

    利用`str.contains`和`str.replace`,可以实现敏感词过滤功能。 在"underscore.string-master"源码仓库中,我们可以看到源码的组织结构和具体实现,这对于深入理解该库的内部机制和学习函数式编程思想非常有帮助。...

    名称检查器:用于检查朋友用户名的小脚本

    通过分析和运行这个脚本,开发者可以学习到Go语言的基础语法、文件操作、正则表达式(用于匹配用户名格式)、数据库操作(如SQL查询)以及如何处理并发请求。同时,这也是一个很好的案例,展示了如何使用Go语言来...

Global site tag (gtag.js) - Google Analytics