文章目录
- 正则匹配sql表名称
-
- [insert into](#insert into)
- update
- [正则表达式什么时候要加^](#正则表达式什么时候要加^)
正则匹配sql表名称
insert into
sql
insert into PING_TABLE (CODE, NAME) VALUES('0', '待提交'),('1', '审核中'),('2', '审核通过'),('3', '已驳回');
regex -> insert\sinto\s(\w+)\s*\(?
update
sql
update STATE_WARNNINGSUBTYPE_TABLE set
regex -> update\s(\w+)\s*(set)?
正则表达式什么时候要加^$
加^$的话就代表把整个要匹配的字符串当成一个整体做一次匹配,
而不加则一个字符串可以匹配多次,代表这个字符串中有符合条件的
如"^abc$"只能匹配abc;"abc"不仅可以匹配abc,还可以匹配abcd
java
public static boolean checkLength(String rule, String source) {
if (rule.contains(",")) {
String[] r = rule.split(",");
return Pattern.matches(String.format("^[0-9]{%s}(\\.[0-9]{%s})?$", (Integer.parseInt(r[0]) - Integer.parseInt(r[1])), r[1]), source);
}
if (Pattern.compile("[\\u4e00-\\u9fa5]").matcher(source).find()) {
return source.length() <= Integer.parseInt(rule);
}
return Pattern.matches(String.format("^[A-Za-z0-9]{%s}$", rule), source);
}