Python 学习笔记: 正则表达式和 re

正则表达式 Regular Expression

正则表达式算符

  • \: 反斜杠用来转义在正则表达式中有特殊含义的字符为一般字符.
  • ^: 上三角用来标定一个字符串的开始. 需要注意的是 ^ 并不用来表示一行的开始 (即\n之后).
  • $: 美元符号用来标定一个字符串的结束. 需要注意的是 ^ 并不用来表示一行的结束 (即\n之前).
  • .: 句点用来匹配任意单一字符.
  • [...]: 方括号用来匹配包含于方括号内的字符, 仅匹配单一字符. 其中 [a-z] 代表匹配从 a 到 z 的所有字符, 类似的还有 [A-Z], [0-9] 等等.
  • [^...]: 方括号用来匹配不包含于方括号内的任意字符, 仅匹配单一字符.
  • |: 或, 即在左右两边的匹配中匹配任何一个即可.
  • (...): 用于分组匹配, 即括号中的字符是一个整体.
  • *: 匹配前方规则零个到多个.
  • +: 匹配前方规则一个到多个.
  • ?: 匹配前方规则零个到一个.
  • {n}: 匹配前方规则正好 n 个.
  • {n,m}: 匹配前方规则最小 n 个, 最多 m 个, 其中 m 可以省略, 指无数多个.

POSIX 字符类 character classes

character classes 相当于一个特殊的字符, 该字符会匹配一类的一般字符. 其使用和一般字符类似.

  • [:alnum:]: alphanumeric, 所有英文字母和数字, 相当于 a-zA-Z0-9.
  • [:alpha:]: alphabetic, 所有英文字母, 相当于 a-zA-Z.
  • [:blank:]: 空格和制表符.
  • [:cntrl:]: 控制符号. 包括: LF(Newline, 换行), CR(Carriage return, 回车), FF(Formfeed, 换页), BS(Backspace, 退格), BEL(alert, 响铃) 等许多符号.
  • [:digit:]: 数字, 相当于 0-9.
  • [:graph:]: 所有可以打印或者可以看到的字符, 空格是可以打印的字符, 'a' 是可以打印也可以看到的字符.
  • [:lower:]: 小写字母, 相当于 a-z.
  • [:print:]: 所有可以打印地符号, 不包括控制符号.
  • [:punct:]: punctuation, 标点, 不是字母, 数字, 控制字符和空格的其他符号, 如各种括号和标点等.
  • [:space:]: 空间符号, 包括空格(space), 制表符号(TAB), 换页(formfeed) 等.
  • [:upper:]: 大写字母, 相当于 A-Z.
  • [:xdigit:]: 十六进制的数字.

re 包

By @Wolfson Liu in
Tags : #python,