一年没写过文章了,一年来对前端也有了更多的相识。正则表达式,通用于许多言语,运用正则能够少走许多弯路。
1、正则实际上就是一个字符串。
es6里面有一个拼接字符串的写法 是: `string${变量名字}`
let name = '测试'; hello_name = `hello ${name}`;
等同于
hello_name = 'hello' + name;
这个和正则的写法很相似
正则也是种种常量与变量的拼接
比方想婚配一个 ‘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 ,有其他过剩的内容
那末就须要一些限制标记
/^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开首,以一到俩位数的岁数末端
相似于 \d的标记 另有 许多 ,经常使用的有 \d \s \w 等,详细的示意寄义能够参考文档
2、正则括号的运用。
正则中() {} [] 都邑用到,没一个的寄义都不一样
()多用于 兼并
正则 默许 都是 互相自力
比方 /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个
这些现在就是正则的最基本用法
假如有须要帮助指点的能够下面留言。