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