敏感詞功能(正則,普通敏感詞)

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;
    }

 

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