Python——正则表达式(字符匹配'[ ]')

35 阅读1分钟

[]

  • 用于表示一个字符集
  • 字符可以单独列出,比如 [amk] 匹配 'a', 'm', 或者 'k'
import re

p = re.compile(r"[amk]")
print(p.findall("I have a monkey"))
  • 可以表示字符范围,通过用 - 将两个字符连起来
import re

p = re.compile(r"[a-y]")  
print(p.findall("ahzyqAHZYQ"))   ['a', 'h', 'y', 'q']

p = re.compile(r"[0-5][A-Y]")
print(p.findall("a0hzyq125A6HZYQ"))  ['5A']
  • 特殊字符在字符集中,失去它的特殊含义
import re
p = re.compile(r"[.+]")
print(p.findall("abc"))   #[]
p = re.compile(r"[.+]")
print(p.findall("a.b+c.d+"))  #['.', '+', '.', '+']
  • 特殊序列,如 \d \s \w 在字符集中可以被接受
import re
p = re.compile(r"[\d]")
print(p.search("a1234b"))  <re.Match object; span=(1, 2), match='1'>
p = re.compile(r"[\d+]")
print(p.findall("a1234b+"))
p = re.compile(r"[a\sb]")
print(p.findall("adb a bc"))
p = re.compile(r"[\w]")
print(p.findall("adb_a b!c"))