常用的正则表达式元字符

以下是一些常用的正则表达式元字符及其含义:


一、基本元字符

  1. .(点号)

    • 匹配除换行符(\n)外的任意单个字符。
    • 例如,正则表达式 a.b 可以匹配 "aab"、"a2b"、"axb" 等,但不能匹配 "a\nb"。
  2. \d

    • 匹配任意一个数字,等价于 [0-9]
    • 例如,正则表达式 \d\d 可以匹配 "12"、"34"、"56" 等两位数字的组合。
  3. \D

    • 匹配任意一个非数字字符,等价于 [^0-9]
    • 例如,正则表达式 \D\D 可以匹配 "ab"、"EF"、"xy" 等两个非数字字符的组合。
  4. \w

    • 匹配任意一个字母、数字或下划线字符,等价于 [a-zA-Z0-9_]
    • 例如,正则表达式 \w\w\w 可以匹配 "abc"、"123"、"a_1" 等由字母、数字或下划线组成的三位字符串。
  5. \W

    • 匹配任意一个非字母、数字或下划线字符,等价于 [^a-zA-Z0-9_]
    • 例如,正则表达式 \W\W 可以匹配 "$$"、"@#"、"-" 等非字母、数字或下划线组成的两位字符串。
  6. \s

    • 匹配任意一个空白字符,包括空格、制表符(\t)、换行符(\n)、回车符(\r)、换页符(\f)、垂直制表符(\v)。
    • 例如,正则表达式 \s\s 可以匹配 ""(两个空格)、"\t\n" 等。
  7. \S

    • 匹配任意一个非空白字符,是 \s 的反义。
    • 例如,正则表达式 \S\S 可以匹配 "aA"、"1b" 等不含空白字符的两位字符串。

二、限定符

  1. *

    • 匹配前面的元素零次或多次。
    • 例如,正则表达式 a* 可以匹配 ""(空字符串)、"a"、"aa"、"aaa" 等。
  2. +

    • 匹配前面的元素一次或多次。
    • 例如,正则表达式 a+ 可以匹配 "a"、"aa"、"aaa" 等,但不能匹配空字符串。
  3. ?

    • 匹配前面的元素零次或一次。
    • 例如,正则表达式 ab?c 可以匹配 "ac" 或 "abc"。
  4. {n}

    • 匹配前面的元素恰好 n 次。
    • 例如,正则表达式 a{3} 可以匹配 "aaa",但不能匹配 "aa" 或 "aaaa"。
  5. {n,}

    • 匹配前面的元素至少 n 次。
    • 例如,正则表达式 a{2,} 可以匹配 "aa"、"aaa"、"aaaa" 等。
  6. {n,m}

    • 匹配前面的元素至少 n 次且最多 m 次。
    • 例如,正则表达式 a{2,4} 可以匹配 "aa"、"aaa"、"aaaa",但不能匹配 "a" 或 "aaaaa"。

三、边界匹配符

  1. ^

    • 匹配行的开始位置。
    • 例如,正则表达式 ^abc 只匹配以 "abc" 开头的行,如 "abcdef",而不匹配 "1abc"。
  2. $

    • 匹配行的结束位置。
    • 例如,正则表达式 abc$ 只匹配以 "abc" 结尾的行,如 "defabc",而不匹配 "abcdef"。
  3. \b

    • 匹配单词的边界,即单词的开始或结束位置。
    • 例如,正则表达式 \bcat\b 可以匹配 "The cat sat" 中的 "cat",但不会匹配 "category" 中的 "cat",因为在 "category" 中 "cat" 不是一个单独的单词。

四、字符集

  1. []

    • 匹配方括号内的任意一个字符。
    • 例如,正则表达式 [abc] 可以匹配 "a"、"b" 或 "c"。
  2. [^]

    • 匹配不在方括号内的任意一个字符,是 [] 的反义。
    • 例如,正则表达式 [^abc] 可以匹配除 "a"、"b"、"c" 以外的任何字符。
  3. [a-z]

    • 匹配从 a 到 z 的任意一个小写字母。
    • 例如,正则表达式 [a-z] 可以匹配 "a"、"b"、"c" 等小写字母。
  4. [A-Z]

    • 匹配从 A 到 Z 的任意一个大写字母。
    • 例如,正则表达式 [A-Z] 可以匹配 "A"、"B"、"C" 等大写字母。
  5. [0-9]

    • 匹配从 0 到 9 的任意一个数字,与 \d 等价。
  6. [a-zA-Z0-9]

    • 匹配任意一个字母或数字。

五、分组和引用

  1. ()

    • 对元素进行分组,可以改变限定符的作用范围,同时可以用于捕获匹配的内容,以便后续使用。
    • 例如,正则表达式 (ab)+ 表示 "ab" 这个组合可以重复出现,如 "abab"、"ababab" 等。
    • 对于捕获组,可以在替换操作中使用。例如,在一些编程语言中,使用 (ab)c\1 进行替换,当匹配到 "abcab" 时,将其替换为 "ababab",这里的 \1 是对第一个捕获组 (ab) 的引用。
  2. |

    • 表示逻辑或,匹配其中之一的表达式。
    • 例如,正则表达式 a|b 可以匹配 "a" 或 "b"。

这些元字符是正则表达式的基础,通过它们的组合和灵活运用,可以实现各种复杂的文本匹配、验证、提取和替换等操作。根据不同的编程语言和工具,在使用正则表达式时可能会有细微的差异,但这些基本元字符的功能大致相同。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值