正则表达式
最后更新于
这有帮助吗?
最后更新于
这有帮助吗?
描述字符串规则的表达式,两种方式
直接量: /pattren/attrs
(/规则/属性)
对象构造方式:new RegExp(pattern,arrtes)
(/规则/属性)
测试正则表达式regexObj与指定字符串是否匹配
由此看到.test()
匹配了正则表达式,但是最后一条出来了一个问题。如果这种情况下/10086/.test('x10086s')
正则表达式匹配到该字符串中确实含有此正则表达式
所以必须要有一些限制,以下就是限制方法
我们可以通过一个锚点匹配一个位置
^
:起始位置
$
:结尾位置
\b
:单词边界
这种方法只能检测固定的号码,但是我们想检测同类的手机号码,所以就需要用到如下 字符类
匹配一类字符中的一个,采用[]
,相当于限定字符集
[abc]
:a或b或c
[0-9]
:一个数字
[^0-9]
:非数字的一个字符
[a-z]
:一个字母
.
:任意一个字符(除还行外)
[0-9]
可以被优化,所以学习到了元字符,元字符是具有特殊意义的字符
具有特殊意义的字符
^
、$
、\b
\d
:[0-9]
\D
:[^\d]
\s
:空白符
\S
:[^\s]
\w
:[A-Z]
\W
:[^\w]
不过呢,想一下这些\d
都是重复的,所以需要用到量词
出现的次数
{m,n}
:m到n次
*
:{0,}
出现0或n次
?
:{0,1}
出现0或者1次
+
:{1,}
出现1或n次