正则表达式
– 跨行匹配
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+