正则整理

一年没写过文章了,一年来对前端也有了更多的了解。正则表达式,通用于不少语言,使用正则能够少走不少弯路。前端

一、正则实际上就是一个字符串。es6

es6里面有一个拼接字符串的写法 是: `string${变量名字}`正则表达式

let name = '测试'; hello_name = `hello ${name}`;

等同于测试

hello_name = 'hello' + name;

这个和正则的写法很相似code

正则也是各类常量与变量的拼接文档

好比想匹配一个 'my age is 数字' 的 字符串 ,那么能够写成字符串

/my age is (\d{1, 2})/
/my age is (\d{1, 2})/.test('my age is 12')  // true
/my age is (\d{1, 2})/.test('my age are 12')  // false
 这里 \d 表示 数字, {1, 2}表示前一位(也就是\d)的个数在1~2之间
 不过相似于 {1, 2} 这样的的位数匹配符 是默认和他的前一位捆绑的
 因此 ()能够省略     
 那么就是写成 
/my age is \d{1, 2}/

可是若是你只须要‘my age is 数字’这句话,不须要像my age is 33456 hhhh ,有其余多余的内容
那么就须要一些限定符号string

/^my age is \d{1, 2}$/
 /^my age is \d{1, 2}$/.test('my age is 12') // true
 /^my age is \d{1, 2}$/.test('my age is 123') // false
 /^my age is \d{1, 2}/.test('my age is 123456') // true   这个没用$

^表示起始 $表示结尾
说明这句话是以m开头,以一到俩位数的年龄结尾test

相似于 \d的符号 还有 不少 ,经常使用的有 \d \s \w 等,具体的表示含义能够参考文档变量

二、正则括号的使用。

正则中() {} [] 都会用到,没一个的含义都不同

()多用于 合并

正则 默认 都是 相互独立
好比  /ab{3}/ 
那么他只会匹配3次b ,可是只匹配1次a
若是写成 /(ab){3}/
那么就会匹配3次 'ab'

[]多用于 筛选

好比 \d 实际上能够写成 [0123456789]
正则会从[]的集合中去匹配,只要符合其中的一个,就算匹配成功
/^[ab]c$/ 匹配 ac 和 bc 都会成功 ,可是匹配 abc 不会成功
[]中能够在最前面加一个^表示取反
好比 [^ab]表示匹配非 ab 的字符

/[^ab]/.test('a')  //false
/[^ab]/.test('x')  //true
好比 [^\d] 能够表示 匹配 非数字(固然也能够写\D 来表示 匹配非数字)

{}多用于位数限定

{1} 表示限定 为 一个
 {1, 2} 表示限定 为 1到2个

这些目前就是正则的最基本用法

若是有须要帮忙指导的能够下面留言。

相关文章
相关标签/搜索