加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

正则表达式总结

发布时间:2020-12-13 22:30:50 所属栏目:百科 来源:网络整理
导读:. 表示除n之外的任意单个字符 [] 字符的筛选,筛选中间的一个,如果加入^,表示不出现里面的字符 | 表示或地意思( 优先级非常低 a|bcd 匹配 a 或者 bcd ,不匹配 acd ) () 改变运算的优先级,提取组 * 限定符,表示前面的表达式出现0次或多次 + 限定符,

. 表示除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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读