正则表达式

– 跨行匹配
STORED BY([\s\S]*?)TBLPROPERTIES

()\r\nCOMMENT([\s\S]*?)MAP KEYS TERMINATED BY ‘:’)

(\w{1,}).*

(^(\w{1,}).*)(\r\n)$ -> $1

^(\w{1,}).*([,\r\n| \r\n])$ -> $1$2

匹配 1900-2999 年月日 YYYYMMDD
^((((19|20)\d{2})(0(1|[3-9])|1[012])(0[1-9]|[12]\d|30))|(((19|20)\d{2})(0[13578]|1[02])31)|(((19|20)\d{2})02(0[1-9]|1\d|2[0-8]))|((((19|20)([13579][26]|[2468][048]|0[48]))|(2000))0229))$

YYYYMM 1900-2999 年月
^((19|20)\d{2})(0([1-9])|1[012])$

YYMMDD 1900-2999 年月日
^(((\d{2})(0(1|[3-9])|1[012])(0[1-9]|[12]\d|30))|((\d{2})(0[13578]|1[02])31)|((\d{2})02(0[1-9]|1\d|2[0-8]))|(((([13579][26]|[2468][048]|0[48]))|(2000))0229))$

匹配 24小时制时分秒 hhmmss
^(([0-1][0-9]|2[0-3])([0-5][0-9])([0-5][0-9]))$

YYYYMMDDhhmmss
^((((19|20)\d{2})(0(1|[3-9])|1[012])(0[1-9]|[12]\d|30))|(((19|20)\d{2})(0[13578]|1[02])31)|(((19|20)\d{2})02(0[1-9]|1\d|2[0-8]))|((((19|20)([13579][26]|[2468][048]|0[48]))|(2000))0229))(([0-1][0-9]|2[0-3])([0-5][0-9])([0-5][0-9]))$

身份证位数
^\d{15}$|^\d{18}$|^\d{17}[Xx]$
以下其实缺少校验和
( ^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$)|(^[1-9]\d{5}\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{2}$)

自然数
^(0|[1-9][0-9]*)$
n位自然数 n>1 ^(0|[1-9][0-9]{0,(n-1)})$

小数
^(0|[1-9][0-9]{0,2})(.[0-9]{1,3})?$

非纯数字 且 不包含中英文的;, . 、
^((([0-9]))([^,;,;、.\d]+)([0-9]))+$

^[1-9][0-9]{5}$

^[A-Z0-9]{6}$

sqlserver 匹配类型
^\b+(\w+)\b+(image|money|int|decimal|text|smallint|varchar|datetime|numeric|tinyint|smalldatetime|float|char|bigint|nvarchar|sysname).*–(\w+)\b+