敏感词功能(正则,普通敏感词)

1.匹配手机号(查询记录中是否包含手机号)(mysql)

select content from chat_record where content RLIKE "[1][35678][0-9]{9}"

2.匹配电子邮箱(查询记录中是否包含电子邮箱)(mysql)

select content from chat_record where content RLIKE "[1-9a-zA-z_]{0,14}.@[1-9a-zA-z]+.com|.org|.com.cn|.net|.yeah"

3.java 正则

手机号:((13[0-9])|(14[0-9])|(15([0-9]))|(17[0-9])|(18[0-9]))\d{8}
邮箱:[1-9a-zA-z_]\w{0,14}@\w{1,}\.(com|org|com.cn|net|year)

4.替换触发的字段

List<String> matchStringList = this.matchStringList(sensitiveWords.getJavaRegular(), content);

//循环数据 替换匹配项添加样式
x.setContent(content.replace(y, "<span class='red'>" + y + "</span>"));

5.匹配正则

    /**
     * 查询符合的正则的字符串集合
     *
     * @param s   正则
     * @param str 要匹配的字符串
     */
    public List<String> matchStringList(String s, String str) {

        // 将给定的正则表达式编译到模式中
        Pattern pattern = Pattern.compile(s);
        // 创建匹配给定输入与此模式的匹配器。
        Matcher matcher = pattern.matcher(str);
        List<String> matchList = new ArrayList<>();
        //查找字符串中是否有符合的子字符串
        while (matcher.find()) {
            matchList.add(matcher.group());
        }
        return matchList;
    }

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章