加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

浅谈正则的基础

发布时间:2020-12-14 06:45:14 所属栏目:百科 来源:网络整理
导读:正则表达是的基础 1、正则表达式的介绍 正则表达式为Regular Expression 正则表达式是用来对字符串中的信息实现查找、替换和提取的操作。 2、正则表达式的实践 【查找案例】 //查找所有的数字var str = "1 dsd hhs67 89ud d 555 222 sshdsahd880 hhd88 99";v

正则表达是的基础

1、正则表达式的介绍

正则表达式为Regular Expression

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

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、// 自变量定义

【案例】

//找到匹配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一个正则表达式

【案例】

//找到匹配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

特殊字符

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

预定义字符

n d w s t b……

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、贪婪模式

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

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
喜欢的朋友可以点赞和收藏奥

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读