正则表达式

正则表达式的定义

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

正则表达式的方法

正则表达式也是一种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')会是替换后的。会将字符串内与正则表达式格式相同的第一个替换成第二个参数的字符串。

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

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

相关推荐
钱多多_qdd11 分钟前
spring cache源码解析(四)——从@EnableCaching开始来阅读源码
java·spring boot·spring
waicsdn_haha13 分钟前
Java/JDK下载、安装及环境配置超详细教程【Windows10、macOS和Linux图文详解】
java·运维·服务器·开发语言·windows·后端·jdk
web1478621072316 分钟前
C# .Net Web 路由相关配置
前端·c#·.net
m0_7482478017 分钟前
Flutter Intl包使用指南:实现国际化和本地化
前端·javascript·flutter
飞的肖21 分钟前
前端使用 Element Plus架构vue3.0实现图片拖拉拽,后等比压缩,上传到Spring Boot后端
前端·spring boot·架构
Q_192849990623 分钟前
基于Spring Boot的摄影器材租赁回收系统
java·spring boot·后端
Code_流苏25 分钟前
VSCode搭建Java开发环境 2024保姆级安装教程(Java环境搭建+VSCode安装+运行测试+背景图设置)
java·ide·vscode·搭建·java开发环境
青灯文案128 分钟前
前端 HTTP 请求由 Nginx 反向代理和 API 网关到后端服务的流程
前端·nginx·http
m0_7482548833 分钟前
DataX3.0+DataX-Web部署分布式可视化ETL系统
前端·分布式·etl
ZJ_.44 分钟前
WPSJS:让 WPS 办公与 JavaScript 完美联动
开发语言·前端·javascript·vscode·ecmascript·wps