Python 正则表达式中的元字符和转义字符

2023-04-02 00:00:00 字符 转义 正则表达式

正则表达式中的元字符是具有特殊含义的字符,可以用来匹配文本中的特定模式。以下是常见的元字符和它们的含义:

  • . 匹配任意一个字符(除了换行符)。
  • ^ 匹配字符串的开头。
  • $ 匹配字符串的结尾。
    • 匹配前面的字符零次或多次。
    • 匹配前面的字符一次或多次。
  • ? 匹配前面的字符零次或一次。
  • {n} 匹配前面的字符恰好 n 次。
  • {m,n} 匹配前面的字符至少 m 次,至多 n 次。
  • [] 匹配其中的任意一个字符。
  • | 匹配左右两边任意一个模式。
  • () 用来分组。

而转义字符则是用来表示特殊字符本身的字符,需要在特定字符前加上反斜杠来实现。以下是常见的转义字符:

  • \ 转义特殊字符,或者表示特殊序列,如 \d 表示任意一个数字。
  • \w 匹配任意一个字母或数字或下划线。
  • \s 匹配任意一个空白字符(空格、制表符、换行符等)。
  • \D 匹配任意一个非数字字符。
  • \W 匹配任意一个非字母数字字符。
  • \S 匹配任意一个非空白字符。

下面是一个使用正则表达式的 Python 代码示例,用来匹配字符串中的 "pidancode.com" 或 "皮蛋编程":

import re

text = "Welcome to pidancode.com and 皮蛋编程!"

# 匹配 "pidancode.com" 或 "皮蛋编程"
pattern = r"(pidancode\.com|皮蛋编程)"
match = re.search(pattern, text)

if match:
    print("匹配成功:", match.group())
else:
    print("匹配失败!")

在上述代码中,使用 re.search() 方法来搜索匹配模式,并使用 group() 方法获取匹配的结果。其中,匹配模式为 (pidancode.com|皮蛋编程),用 | 表示左右两边任意一个模式,而 . 则表示匹配一个实际的点号字符。如果匹配成功,输出结果为:

匹配成功: pidancode.com

注意,Python 中的正则表达式模块使用原始字符串(raw string)来表示模式,需要在模式字符串前加上 r 前缀。

相关文章