一些常用的正则表达式及其解释附示例

作者:袖梨 2026-07-25

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

一些常用的正则表达式及其解释(附示例)

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

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]*)?$
  • :匹配 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)匹配完整的单词:

bwordb
  • 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 = "[email protected]";

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

三、总结

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

相关文章

精彩推荐