1、判断数据库名是否合法
import re dbname = "test_"
result = re.match("[a-zA-Z_0-9]{1,}$",dbname) print result
注意点:必须以[a-zA-Z_0-9]为结尾
2、匹配建表语句
re_for_create_table = "create[\s]{1,}table[\s]{1,}(?:if[\s]{1,}not[\s]{1,}exists[\s]{1,})?([a-zA-Z0-9_`]{1,})[\s]*\("
re_obj_create = re.compile(re_for_create_table, re.I)
(?:exp) | 匹配exp,不捕获匹配的文本,也不给此分组分配组号 |
3、匹配alter语句
re_for_alter_table = "alter[\s]{1,}(?:ignore[\s]{1,})?table[\s]{1,}([a-zA-Z0-9_`]{1,})[\s]{1,}"
re_obj_alter = re.compile(re_for_alter_table, re.I)