个人正则使用记录
-
正则表达式手册
常用正则表达式备忘
> 一个双字节字符长度计2,ASCII字符计1。 \x00-\xff 为 0 - 255 的 ASCII 值。 取非, 表示 ASCII码值大于255的那些字符, 即双字节字符,包括汉字。 -
常用正则表达式
用户名 /^[a-z0-9_-]{3,16}$/ 密码 /^[a-z0-9_-]{6,18}$/ 手机验证 /^1[34578]\d{9}$/; 电子邮箱 /^([a-z0-9_\.-]+)@([\da-z\.-]+)\.([a-z\.]{2,6})$/ /^[a-z\d]+(\.[a-z\d]+)*@([\da-z](-[\da-z])?)+(\.{1,2}[a-z]+)+$/ URL /^(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$/ Unicode编码中的汉字范围 /^[\u2E80-\u9FFF]+$/ 匹配双字节字符(包括汉字在内):英文字符,大小写字母,数字 [^\x00-\xff] 汉字和标点符号 /^[\u4e00-\u9fa5\(\)]+[^\x00-\xff]+$/
var pattern = /^1[34578]\d{9}$/; pattern.test(str) test参数是字符串, 返回值是boolean类型 str.match(pattern;) match参数是正则表达式,返回值是数组
-
正向肯定预查, 正向否定预查, 反向肯定预查,反向否定预查
(?:pattern), 匹配pattern但不获取匹配结果,不进行存储供以后使用。
- 正向肯定预查
(?=pattern)
Windows(?=95|98|NT|2000)” , 能匹配“Windows2000”中的“Windows”,
但不能匹配 “Windows3.1”中的“Windows” - 正向否定预查
(?!pattern)
Windows(?!95|98|NT|2000)”能匹配“Windows3.1”中的“Windows”,
但不能匹配 “Windows2000”中的 “Windows” - 反向肯定预查,
(?<=pattern)
“(?<=95|98|NT|2000)Windows” 能匹配 “2000Windows”中的“Windows”,
但不能匹配“3.1Windows”中的“Windows” - 反向否定预查,
(?<!pattern)
“(?<!95|98|NT|2000)Windows”能匹配“3.1Windows”中的“Windows”,
但不能匹配“2000Windows”中的“Windows”
- 正向肯定预查