正则表达式总结
. 表示除n之外的任意单个字符 [] 字符的筛选,筛选中间的一个,如果加入^,表示不出现里面的字符 | 表示或地意思(优先级非常低a|bcd匹配a或者bcd,不匹配acd) () 改变运算的优先级,提取组 * 限定符,表示前面的表达式出现0次或多次 + 限定符,表示前边的表达式必须出现1次或者多次,至少出现1次 ? 限定符,表示前边的表达式必须出现0次或者1次,最多出现1次;终止贪婪模式 {n} 限定符,限定前面表达式必须出现n次 {n,} 限定符,限定前边的表达式至少出现n次 {n,m} 限定符,限定前边的表达式至少出现n次,最多出现m次 ^ 表示的是字符串的开头【不在[]中】 $ 表示字符串的结尾 d 表示[0-9] D 表示[^0-9] s 表示所有那些空白符,不可见字符(换行符,制表符等) S 表示除了s之外的所有字符 w 表示[0-9a-zA-Z_]下划线表示汉字 W 表示除了w之外的所有其他字符 b 表示单词的边界(断言,只判断,不匹配) 表示任意单个字符: [sS] [wW] [dD] ^a|b$:表示以a开头或者是以b结尾(因为|的优先级很低) 判断一个字符串是不是身份证号码: 1. 长度为15位或者18位的字符串,首位不能是0 2. 如果是15位,则全部是数字 3. 如果是18位,则前17为都是数字,末尾可能是数字也可能是X(大小写都有) 方法一:^[1-9]([0-9]{13} | [0-9]{16})[0-9Xx]$ 方法二:^[1-9][0-9]{14}([0-9]{2}[0-9Xx])?$ 判断字符串是否为正确的国内电话号码,不考虑分机: 1. 区号:3位或4位 2. 电话:7位或8位 3. 区号与电话中间的-可以没有,也可以出现1次 4. 或者所有的5位号码也是合法的 5. 所有的手机号码11位也是合法的 方法:^((d{3,4}-?d{7,8})|(d{5}))$ 注:由于前面包含了11位的电话号码,所以不用再填写 2015年5月22日 by:champly (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |