常用的正则表达式语法学习

正则表达式是一种字符串匹配利器,可以帮助我们搜索、获取、替代字符串。它是一种计算机科学的概念,不单单属于某种语言,正则表达式可以在Python、JavaScript、Java等语言中广泛使用。

目录

1.什么是正则表达式?

2.JavaScript中的正则表达式

3.正则表达式的使用方法

3.1.正则对象的实例方法

3.2.字符串的方法

4.修饰符flag的使用

5. 规则

5.1.字符类 

5.2.锚点

5.3.转义字符

6.集合(Sets)和范围(Ranges)

7.量词(Quantifiers)

8. 贪婪(greedy)和懒惰(lazy)模式

9.捕获组

9.1.作为结果数组中的单独项 

9.2.将括号视为一个整体

9.3. 捕获组的命名

9.4.捕获组的排除

9.5.捕获组的或


1.什么是正则表达式?

  • 正则表达式(英语:Regular Expression,常常简写成RegExp),又称为正则表示式、正则表示法、规则表达式、常规表示法;
  • 正则表达式使用单个字符串来描述,匹配一系列匹配某个句法规则的字符串;
  • 很多程序设计语言都支持利用正则表达式进行字符串操作。

2.JavaScript中的正则表达式

在JavaScript中,正则表达式使用RegExp类来创建,但也有对应的字面量的方式:正则表达式主要由两部分组成:模式(patterns)也可以理解为匹配规则和修饰符(flags)

const re1 = new RegExp("hello", "i")
//使用RegExp类创建正则表达式 "hello"是模式 "i"是修饰符
const re2 = /hello/i
//使用字面量创建正则表达式 

3.正则表达式的使用方法

有两种使用方法:

  1. 可以使用正则对象(RegExp)上的实例(exec和test)方法;
  2. 使用字符串(String)的(match、matchAll、replace、search、split)方法,传入一个正则表达式。

3.1.正则对象的实例方法

exec

一个在字符串中执行查找匹配的 RegExp 方法,它返回一个数组(未匹配到则返回 null)。

let message = "hello ABC, abc ,ASbc, AABC"
const re1 = /abc/ig
console.log(re1.exec(message)) 

test

一个在字符串中测试是否匹配的 RegExp 方法,它返回 true 或 false。

let message = "hello ABC, abc ,ASbc, AABC"
const re1 = /abc/ig
console.log(re1.test(message)) //true

3.2.字符串的方法

match
一个在字符串中执行查找匹配的 String 方法,它返回一个数组,在未匹配到时会返回 null。
let message = "hello ABC  abc ASbc AABC"
      const re1 = /abc/ig
      const result = message.match(re1)
      console.log(result)

 

matchAll
一个在字符串中执行查找所有匹配的 String 方法,它返回一个迭代器(iterator)。

matchAll正则必须加g修饰符。

let message = "hello ABC  abc ASbc AABC"
      const re1 = /abc/ig
      const result = message.matchAll(re1)
      console.log(result)

 返回的是一个迭代器,是可迭代的,使用for of循环遍历。

for (const item of result){
        console.log(item)
      }

search
一个在字符串中测试匹配的 String 方法,它返回匹配到的位置索引,或者在失败时返回-1。
replace
一个在字符串中执行查找匹配的 String 方法,并且使用替换字符串替换掉匹配到的子字符串。
split
一个使用正则表达式或者一个固定字符串分隔一个字符串,并将分隔后的子字符串存储到数组中
的 String 方法。

4.修饰符flag的使用

常见的修饰符有三个:

g (global)全部的,匹配全部的
i &#x
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Linux正则表达式是一种用来匹配文本内容的表达式,它可以方便地在Linux系统中进行文本处理和搜索。下面是一份Linux正则表达式大全,包括常用正则表达式语法和示例: 1. 字符匹配 正则表达式语法:字符 示例: * 匹配单个字符: ``` a 匹配'a'字符 ``` * 匹配多个字符: ``` [abc] 匹配'a'、'b'或'c'字符 [^abc] 匹配除'a'、'b'、'c'以外的任意字符 [a-z] 匹配小写字母a到z中的任意一个字符 [A-Z] 匹配大写字母A到Z中的任意一个字符 [0-9] 匹配数字0到9中的任意一个字符 ``` 2. 重复匹配 正则表达式语法:字符+、字符*、字符? 示例: * 匹配多个字符: ``` a+ 匹配一个或多个'a'字符 a* 匹配零个或多个'a'字符 a? 匹配零个或一个'a'字符 ``` 3. 边界匹配 正则表达式语法:^、$ 示例: * 匹配行首和行尾: ``` ^a 匹配以'a'字符开头的行 a$ 匹配以'a'字符结尾的行 ``` 4. 逻辑匹配 正则表达式语法:字符1|字符2 示例: * 匹配两种字符中的任意一种: ``` a|b 匹配'a'或'b'字符 ``` 5. 分组匹配 正则表达式语法:(字符) 示例: * 匹配分组中的字符: ``` (a) 匹配'a'字符 ``` 6. 转义字符 正则表达式语法:\字符 示例: * 匹配特殊字符: ``` \. 匹配'.'字符 \* 匹配'*'字符 \+ 匹配'+'字符 \? 匹配'?'字符 \( 匹配'('字符 \) 匹配')'字符 ``` 以上是Linux正则表达式常用语法和示例,可以根据实际需求进行学习和使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

至尊绝伦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值