在线正则校验
正则匹配sql表名称
insert into
insert into PING_TABLE (CODE, NAME) VALUES('0', '待提交'),('1', '审核中'),('2', '审核通过'),('3', '已驳回');
regex -> insert\sinto\s(\w+)\s*\(?

update
update STATE_WARNNINGSUBTYPE_TABLE set
regex -> update\s(\w+)\s*(set)?

正则表达式什么时候要加^$
加^$的话就代表把整个要匹配的字符串当成一个整体做一次匹配,
而不加则一个字符串可以匹配多次,代表这个字符串中有符合条件的
如"^abc$"只能匹配abc;"abc"不仅可以匹配abc,还可以匹配abcd
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);
}
文章讲述了如何使用正则表达式匹配SQL的insertinto和update语句中的表名,以及何时在正则表达式中添加^$符号确保全局匹配。同时介绍了检查字符串长度的规则方法。
2531

被折叠的 条评论
为什么被折叠?



