浅谈正则的基础

前端之家收集整理的这篇文章主要介绍了浅谈正则的基础前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

正则表达是的基础

1、正则表达式的介绍

正则表达式为Regular Expression

正则表达式是用来对字符串中的信息实现查找、替换和提取的操作。@H_502_7@

2、正则表达式的实践

【查找案例】

//查找所有的数字
var str = "1 dsd  hhs67 89ud d 555 222 sshdsahd880 hhd88 99";
var res = str.match(/\d+/g);
console.log(res);

打印结果
(8) ["1","67","89","555","222","880","88","99"]

【替换案例】

//替换所有的is为IS
var str1 = "my name is abcd . is no what is you name?"
var res1 = str1.replace(/is/g,"IS");
console.log(res1);
打印结果
my name IS abcd . IS no what IS you name?

3、正则表达式的定义(正则表达式示例的创建)

2种定义方式

1、// 自变量定义@H_502_7@

【案例】

//找到匹配abcd的字符
var str = "my name is Abcd . is no what is you name?";
var res = /abcd/i;
console.log(res.test(str));
打印结果为true
2、new RexExp();new一个正则表达式@H_502_7@

【案例】

//找到匹配abcd的字符
var str = "my name is Abcd . is no what is you name?";
var res = new RegExp("abcd","i");
console.log(res.test(str));
打印结果为true

4、正则表达式的修饰符(flag)

i----ignore 忽略大小写
g----global 全局全部
m----multiline 多行

5、正则表达式的字符

普通字符

a-z Z-A 0-9@H_502_7@

特殊字符

() [] {} ? * + ^ $ |@H_502_7@

预定义字符

n d w s t b……@H_502_7@

6、元字符[] (元类字符)

代表一类字符

【案例1】

//替换多有的jgf
var str = "aasj jgjgdk ghghr lfjfhd";
var res = str.replace(/[jgf]/g,"WJ");
console.log(res);
打印结果
aasWJ WJWJWJWJdk WJhWJhr lWJWJWJhd

【案例2】

//找到以a开头以c结尾中间是sdf的字符
var str1 = "abc adc asc afc ahc atc adc";
var res = str1.match(/a[sdf]c/g);
console.log(res);
打印结果
(4) ["adc","asc","afc","adc"]

7、量词

{} 用来修饰字符的

8、贪婪模式

贪婪模式是什么,我们怎么解决贪婪模式
正则匹配尽可能给我们匹配跟多的,这就就出现了贪婪模式@H_502_7@
我们解决贪婪模式的方式就是反贪婪模式,在其后面加?即可@H_502_7@

9、分支 分组和应用

分支用|表示
分组用()表示

10、边界问题 ^$ b

整个字符串边界 ^ $
单词的边界 b B

11、前瞻

【案例】

正向前瞻reg(?=reg1)
//返回91前面的shitu
var str = "shitu 91 nihao!";
var reg = str.match(/shitu (?=91)/g);
console.log(reg);
打印结果["shitu "]
反向前瞻reg(?!reg1)
//找不到任何
var str = "shitu 91 nihao!";
var reg3 = str.match(/shitu (?!91)/g);
console.log(reg3);
打印结果null
//返回shitu 91  忽略分组
var str = "shitu 91 nihao!";
var reg1 = str.match(/shitu (?:91)/);
console.log(reg1);
打印结果
["shitu 91",index: 0,input: "shitu 91 nihao!"]
//返回shitu 91 91
var str = "shitu 91 nihao!";
var reg2 = str.match(/shitu (91)/);
console.log(reg2);
打印结果
(2) ["shitu 91","91",input: "shitu 91 nihao!"]

12、正则对象的属性

iastIndex
flags
global
ignoreCase
multiline
source
喜欢的朋友可以点赞和收藏奥
原文链接:https://www.f2er.com/regex/358037.html

猜你在找的正则表达式相关文章