常用的正则表达式 - 附示例

正则表达式(Regular Expressions,简称 RegEx)是一个强大的工具,用于匹配字符串中的模式。在此列举一些常用的正则表达式及其解释:

目录

一、 常用的正则表达式及其解释

1、匹配数字

        1)匹配一个数字:

        2)匹配多个数字:

        3)匹配精确长度的数字(例如:匹配 3 位数字):

         4)匹配数字范围(例如:匹配 3 到 5 位数字):

2、 匹配字母

        1)匹配一个字母:

        2)匹配多个字母:

3、匹配空格

        1)匹配空格字符:

        2)匹配非空格字符:

4、匹配特定的字符串或模式

        1)匹配邮箱地址:

        2)匹配URL:

5、匹配日期格式

        1)匹配日期(YYYY-MM-DD)格式:

6、匹配电话号码

        1)匹配中国大陆电话号码(如:138-1234-5678 或 13812345678):

7、匹配特定字符

        1)匹配特定字符(例如:匹配 "a" 或 "b"):

        2)匹配不包括特定字符的字符(例如:匹配除 "a" 和 "b" 之外的字符):

8、匹配单词边界

        1)匹配完整的单词:

9、匹配数字范围

        1)匹配 1 到 100 之间的数字:

10、替换字符串中的内容

        1)将字符串中的空格替换为下划线:

11、捕获分组和反向引用

        1)捕获分组(将匹配的部分提取出来以供后续引用):

12、常用修饰符

二、示例 - 以匹配并替换邮箱为例

三、总结


一、 常用的正则表达式及其解释

1、匹配数字

        1)匹配一个数字

\d

  • \d:匹配一个数字,等同于 [0-9]

        2)匹配多个数字

\d+
  • +:表示匹配前面的字符 1 次或多次。

        3)匹配精确长度的数字(例如:匹配 3 位数字):

\d{3}

       

         4)匹配数字范围(例如:匹配 3 到 5 位数字):

\d{3,5}

2、 匹配字母

        1)匹配一个字母

[a-zA-Z]

  • [a-zA-Z]:匹配任何一个英文字母,不论大小写。

        2)匹配多个字母

[a-zA-Z]+

  • +:表示匹配一个或多个字母。

3、匹配空格

        1)匹配空格字符

\s

  • \s:匹配任何空白字符,包括空格、制表符、换行符等。

        2)匹配非空格字符

\S

  • \S:匹配非空白字符。

4、匹配特定的字符串或模式

        1)匹配邮箱地址

^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$

  • ^:表示开始。
  • $:表示结束。
  • [a-zA-Z0-9._%+-]:匹配用户名。
  • @[a-zA-Z0-9.-]+:匹配 @ 后面的域名部分。
  • \.[a-zA-Z]{2,}:匹配 .com.org 等顶级域名。

        

        2)匹配URL

^https?:\/\/[a-zA-Z0-9.-]+(?:\/[^\s]*)?$

  • https?:匹配 http 或 https
  • :\/\/:匹配 ://
  • [a-zA-Z0-9.-]+:匹配域名部分。
  • (?:\/[^\s]*)?:匹配可选的路径部分。

5、匹配日期格式

        1)匹配日期(YYYY-MM-DD)格式

\d{4}-\d{2}-\d{2}

  • \d{4}:匹配 4 位年份。
  • \d{2}:匹配 2 位月份和日期。

6、匹配电话号码

        1)匹配中国大陆电话号码(如:138-1234-5678 或 13812345678):

^1[3-9]\d{9}$

  • 1[3-9]:以 1 开头,第二位是 3 到 9 之间的数字。
  • \d{9}:后面跟着 9 位数字。

7、匹配特定字符

        1)匹配特定字符(例如:匹配 "a" 或 "b"):

[ab]

        2)匹配不包括特定字符的字符(例如:匹配除 "a" 和 "b" 之外的字符):

[^ab]

8、匹配单词边界

        1)匹配完整的单词

\bword\b

  • \b:单词边界,表示匹配“word”这个完整的单词。

9、匹配数字范围

        1)匹配 1 到 100 之间的数字

^([1-9]|[1-9][0-9]|100)$

  • ([1-9]|[1-9][0-9]|100):匹配 1 到 9、10 到 99 或 100。

10、替换字符串中的内容

        在一些编程语言(如 JavaScript 或 Python)中,你可以使用正则表达式进行替换操作

        1)将字符串中的空格替换为下划线

/ /g

  • / /g:匹配所有空格并替换。

11、捕获分组和反向引用

        1)捕获分组(将匹配的部分提取出来以供后续引用):

(\d{3})-(\d{4})

  • (\d{3}) 和 (\d{4}) 是捕获分组。
  • 在替换时,你可以使用 \1 和 \2 来引用这两个分组。

12、常用修饰符

  • g(全局搜索):查找字符串中的所有匹配项。
  • i(忽略大小写):进行不区分大小写的匹配。
  • m(多行搜索):使 ^ 和 $ 匹配行的开始和结束。

二、示例 - 以匹配并替换邮箱为例

const emailRegex = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/;
const email = "example@example.com";

if (emailRegex.test(email)) { 
  console.log("有效的邮箱地址");
} else { 
  console.log("无效的邮箱地址");
}

三、总结

        以上是一些常见的正则表达式及其应用。正则表达式非常强大,但也有其复杂性,尤其是在处理不同类型的文本时。掌握正则表达式能极大地提高咱们处理文本的效率哦!

欢迎关注VX公众号:前端小知识营地

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值