Tips: 字符串方法match()返回根据正则表达式匹配到的结果
1. 常用符号/链接标志
1.1 开头结尾标志
-
^
以...开头 -
$
以...结尾
const reg1 = /^\d/ // 以数字开头
const reg2 = /^[a-z]/ // 以小写字母开头
const reg3 = /\d$/ // 以数字结尾
const reg4 = /[a-z]$/ // 以小写字母结尾
const str = '123abc'
str.match(reg1) // '1'
str.match(reg2) // ''
str.match(reg3) // ''
str.match(reg4) // 'c'
1.2 多次匹配(限定符)
-
+
号,匹配前面的字符1 ~ n次 -
*
号,匹配前面的字符0 ~ n次 -
?
号,匹配前面的字符0 ~ 1次 -
{n,}
,匹配前面的字符至少n次 -
{n,m}
,匹配前面的字符n ~ m次
const reg1 = /\d/ // 匹配单个数字
const reg2 = /\d+/ // 匹配1~n个数字
const reg3 = /\d*/ // 匹配0~n个数字
const reg4 = /\d?/ // 匹配0~1个数字
const reg5 = /\d{2,}/g // 匹配至少2个数字(g全局匹配)
const reg6 = /\d{3,6}/g // 匹配3~6个数字
const str = '12345678abc98def7'
str.match(reg1) // '1'
str.match(reg2) // '12345678'
str.match(reg3) // '12345678'
str.match(reg4) // '1'
str.match(reg5) // ['12345678', '98']
str.match(reg6) // '123456'
2. 字符
2.1 普通字符
-
[abc]
匹配[]中的所有字符 -
[^abc]
匹配除去[^]中的所有字符 -
[A-Z]
匹配某个区间的所有字符 -
.
匹配除去换行符(\n、\r)的所有字符 -
\w
匹配字母、数字、下划线。等价于[A-Za-z0-9_]
const reg1 = /[ame]{3}/ // 匹配ame三个字符
const reg2 = /[^N]+/ // 匹配除去N的所有字符
const reg3 = /[a-z]+/ // 匹配a-z这个区间的所有字符
const reg4 = /.+/ // 匹配除去换行符(\n、\r)的所有字符
const reg5 = /\w{3,6}/ // 匹配字母、数字、下划线。3 ~ 6个字符
const str = 'Name1-2_3'
str.match(reg1) // 'ame'
str.match(reg2) // 'ame1-2_3'
str.match(reg3) // 'ame'
str.match(reg4) // 'Name1-2_3'
str.match(reg5) // 'Name1'
2.2 非打印字符
-
\d
,匹配一个数字 -
\n
,匹配一个换行符 -
\s
,匹配任何空白字符 -
\S
,匹配任何非空白字符
3. 修饰符
- 修饰符(flags)用于指定额外的匹配策略。
- 语法:
/pattern/flags
3.1 常用修饰符
-
i
,ignore不区分大小写 -
g
,global全局匹配 -
m
,multi line多行匹配
const reg1 = /[a-z]+/i // 匹配字母,不区分大小写
const reg2 = /[A-Z]+/ // 匹配大写字母
const reg3 = /[A-Z]+/g // 匹配大写字母,且全局
const str = 'AncientChina'
str.match(reg1) // 'AncientChina'
str.match(reg2) // 'A'
str.match(reg3) // ['A', 'C']
参考
https://www.runoob.com/regexp 菜鸟教程文章来源地址https://www.toymoban.com/news/detail-445250.html
文章来源:https://www.toymoban.com/news/detail-445250.html
到了这里,关于正则表达式 基础的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!