正则表达式

正则表达式的定义

正则表达式也是一种字面值,和数组一样。以//内是正则表达式。

正则表达式的方法

正则表达式也是一种object类的字面值,和对象一样。也有方法。正则表达式的方法有特殊的作用。

test方法

正则表达式的类有这个方法,改方法的参数是字符串,调用这个函数,最后返回值是true/false,是匹配正则表达式这个和被检测的字符串是否是一个类型。判别的时候会正则表达式每一个字符都会对应匹配的。

exec方法

该方法也是对参数进行匹配,但是返回的是匹配的一系列信息。以数组的形式返回一系列信息。index:5是键值对,如果找得到返回的是数组,没有返回的是null。

返回值如下:键值对也可以写在数组或者集合内。作为一种数据类型。

以上两个方法匹配时的规则

普通字符和元字符都是写在斜线内,整体代表正则表达式,但是匹配只从斜线内开始匹配。

1.普通字符

普通字符是只能匹配和本身一样的字符,例如所有的数字和字母,下划线等,我们日常的普通字符

2.元字符

有特殊的含义的字符,写一个这种字符能匹配多个普通字符,都算满足。多种格式的字符串都能匹配成功。

1)边界符

正则表达式匹配参数字符串得从那个地方开始匹配。

如果在斜线开头且只能在开头,写^表述^后面的字符和字符串第一个字符开始匹配,一个一个匹配。但是结尾没要求。如果不写边界符,匹配的时候只要满足无论是从那里开始。但是如果写了这两个符号必须从开头/结尾开始匹配,如果两个符号都写,证明字符串必须和内部格式一样。比如

/^嗨嗨$/.test('嗨嗨嗨')错的,只有'嗨嗨'才是对的。

2)量词

量词写的时候,是看前面的,匹配的时候前面字符

如a*匹配的时候字符串内有零或多次都能匹配成功。

3)字符类[]

[abc]匹配的时候这个一整个只匹配一个字符,但是匹配的时候内部都算匹配成功。

[]内可以写很多字符,但是只要是一个中括号,内部写再多都是匹配一个字符,这个字符是内部的就算匹配成功。但是中括号内可以写的格式可以是普通字符连在一起写,也可也用- ,比如a-z表述a到z的的字母。

[a-zA-Z]表示大小写的英文字母,如果中括号内以空格隔开,空格也是一个字符。匹配的时候空格也能匹配。多个空格也只是一个空格。-左右只能是连一起的都是大小写或者是数字。在中括号内些^表示的是非后面的这些,且只能写在中括号第一个否则表示的只是一个普通字符。

写上述的这些写在斜线内和写中括号一个匹配模式,匹配的时候和写那些匹配一样,当看到这些,就去匹配一个字符。

上面两个方法的参数可以不是字符类型,但是最后会转成字符类型。

3.修饰符

修饰符是写在正则表达式后面,会对正则表达式的匹配或者替换有影响。可以写在正则表达式后面表示的也是正则表达式的这个对象,也可也用来匹配。i写在正则表达式后面匹配的时候正则每一个字符匹配的时候大小写都可以进行匹配,g只对替换有效果,当写g的时候,替换的时候会替换全部,但是当不写这两个的正则表达式匹配的时候区分大小写,替换的时候也只替换第一个。

replace方法

字符串的该方法可以将输入的参数转成字符串类型,然后对这个字符串进行替换,返回值是最终的字符串。这个方法是字符串的方法,但是如果传参是正则表达式

比如'aaa'.replace(/[a-z]/,'哈')返回值('哈aa')会是替换后的。会将字符串内与正则表达式格式相同的第一个替换成第二个参数的字符串。

正则表达式内可以写|表示正则表达式匹配或者替换可以是|前后两种格式。

在家的第二天打卡,加油💪💪💪

相关推荐
程序员南飞1 小时前
ps aux | grep smart_webrtc这条指令代表什么意思
java·linux·ubuntu·webrtc
弥琉撒到我1 小时前
微服务swagger解析部署使用全流程
java·微服务·架构·swagger
一颗花生米。2 小时前
深入理解JavaScript 的原型继承
java·开发语言·javascript·原型模式
问道飞鱼2 小时前
Java基础-单例模式的实现
java·开发语言·单例模式
学习使我快乐012 小时前
JS进阶 3——深入面向对象、原型
开发语言·前端·javascript
bobostudio19952 小时前
TypeScript 设计模式之【策略模式】
前端·javascript·设计模式·typescript·策略模式
黄尚圈圈3 小时前
Vue 中引入 ECharts 的详细步骤与示例
前端·vue.js·echarts
浮华似水4 小时前
简洁之道 - React Hook Form
前端
ok!ko5 小时前
设计模式之原型模式(通俗易懂--代码辅助理解【Java版】)
java·设计模式·原型模式
正小安6 小时前
如何在微信小程序中实现分包加载和预下载
前端·微信小程序·小程序