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