re.I 使匹配对大小写不敏感
re.L 做本地化识别(locale-aware)匹配
re.M 多行匹配,影响 ^ 和 $
re.S 使 . 匹配包括换行在内的所有字符
re.U 根据Unicode字符集解析字符。这个标志影响 \w, \W, \b, \B.
re.X 该标志通过给予你更灵活的格式以便你将正则表达式写得更易于理解。

re.S示例

  1. import re
  2. a = '''asdfhellopass:
  3. worldaf
  4. '''
  5. c = re.findall('hello(.*?)world',a,re.S)
  6. print 'c is ' , c
  7. >>>>>>>>>> c is ['pass:\n\t\n\t']
  8. # re.M示例
  9. s= '12 34/n56 78/n90'
  10. re.findall( r'^/d+' , s , re.M )
  11. >>> ['12', '56', '90']
  12. re.findall( r'/d+$' , s , re.M )
  13. >>> ['34', '78', '90']

替换相关

  1. >>>替换时转化成大小写
  2. (.*?)
  3. \U$1\E 大写
  4. \L$1\E 小写
  1. >>>替换保留内容
  2. (.*?)_(.*?)
  3. \1-\2 python写法
  4. $1-$2 编辑器写法