正则表达式的简单理解
定义
正则表达式(regular expression)描述了一种字符串匹配的模式(pattern),可以用来检查一个串是否含有某种子串、将匹配的子串替换或者从某个串中取出符合某个条件的子串等。
非打印字符
非打印字符也可以是正则表达式的组成部分。
字符 | 描述 |
---|---|
\cx | 匹配由x指明的控制字符 |
\f | 匹配一个换页符。等价于 \x0c 和 \cL |
\n | 匹配一个换行符。等价于 \x0a 和 \cJ |
\r | 匹配一个回车符。等价于 \x0d 和 \cM。 |
\s | 匹配任何空白字符,包括空格、制表符、换页符等等。 |
\S | 匹配任何非空白字符 |
\t | 匹配一个制表符 |
\v | 匹配一个垂直制表符 |
限定符
字符 | 描述 |
---|---|
* | 匹配前面的子表达式零次或多次 |
+ | 匹配前面的子表达式一次或多次 |
? | 匹配前面的子表达式零次或一次 |
{n} | n 是一个非负整数。匹配确定的 n 次 |
{n,} | n 是一个非负整数。至少匹配n 次 |
{n,m} | m 和 n 均为非负整数,其中n <= m。最少匹配 n 次且最多匹配 m 次 |
定位符
字符 | 描述 |
---|---|
^ | 匹配输入字符串开始的位置 |
$ | 匹配输入字符串结尾的位置 |
\b | 匹配一个单词边界,即字与空格间的位置。 |
\B | 非单词边界匹配 |
例子
1.
let reg = new RegExp("美国|日本",'i')
let ref = /^(美国|日本|hello)/i
let str = 'hello你好'
console.log(reg.test(str))
显示
2.
let reg = /^张/i
let str = '张飞'
console.log(reg.test(str));
显示
3.
let reg = /8$/i
let str = '19988080888'
console.log(reg.test(str));
显示