目录
  • flags参数
  • 忽略大小写
  • 多行模式
  • 匹配任何字符
  • 补充:正则表达式中的flags
  • 总结

flags参数

re.I
IGNORECASE
忽略字母大小写

re.L
LOCALE
影响 “w, “W, “b, 和 “B,这取决于当前的本地化设置。

re.M
MULTILINE
使用本标志后,‘^’和‘$’匹配行首和行尾时,会增加换行符之前和之后的位置。

re.S
DOTALL
使 “.” 特殊字符完全匹配任何字符,包括换行;没有这个标志, “.” 匹配除了换行符外的任何字符。

re.X
VERBOSE
当该标志被指定时,在 RE 字符串中的空白符被忽略,除非该空白符在字符类中或在反斜杠之后。
它也可以允许你将注释写入 RE,这些注释会被引擎忽略;
注释用 “#”号 来标识,不过该符号不能在字符串或反斜杠之后。

忽略大小写

import re text = '我爱Python我爱python' pat1 = 'p' # search r1 = re.findall(pattern=pat1, string=text, flags=re.I) print(r1) 

[‘P’, ‘p’]

多行模式

import re text = '我爱数学\n我爱Python\n我爱python' pat1 = '^我' # search r1 = re.findall(pattern=pat1, string=text) r2 = re.findall(pattern=pat1, string=text, flags=re.M) print(r1) print(r2) 

匹配任何字符

import re text = ''' 我爱Python 我爱pandas ''' pat1 = '.我' # search r1 = re.findall(pattern=pat1, string=text, flags=re.S) print(r1) r2 = re.findall(pattern=pat1, string=text) print(r2) 

补充:正则表达式中的flags

MULTILINE,多行模式, 改变 ^ 和 $ 的行为

In [63]: s Out[63]: 'first line\nsecond line\nthird line' In [64]: pattern=re.compile(r'^\w+') In [65]: re.findall(pattern,s) Out[65]: ['first'] In [67]: pattern=re.compile(r'^\w+',re.M) In [68]: re.findall(pattern,s) Out[68]: ['first', 'second', 'third'] 

re.S  DOTALL,此模式下 '.' 的匹配不受限制,可匹配任何字符,包括换行符,也就是默认是不能匹配换行符

In [62]: s = '''first line ...: second line ...: third line''' In [71]: regex=re.compile('.+',re.S) In [73]: regex.findall(s) Out[73]: ['first line\nsecond line\nthird line'] In [74]: regex=re.compile('.+') In [75]: regex.findall(s) Out[75]: ['first line', 'second line', 'third line'] 

re.X VERBOSE,冗余模式, 此模式忽略正则表达式中的空白和#号的注释

email_regex = re.compile("[\w+\.]+@[a-zA-Z\d]+\.(com|cn)") email_regex = re.compile("""[\w+\.]+ # 匹配@符前的部分 @ # @符 [a-zA-Z\d]+ # 邮箱类别 \.(com|cn) # 邮箱后缀 """, re.X)

总结

到此这篇关于Python正则表达式中flags参数的文章就介绍到这了,更多相关Python正则表达式flags参数内容请搜索本网站以前的文章或继续浏览下面的相关文章希望大家以后多多支持本网站!

您可能感兴趣的文章:

  • 比较详细Python正则表达式操作指南(re使用)
  • Python中正则表达式的详细教程
  • python正则表达式re模块详细介绍
  • python利用正则表达式提取字符串
  • python正则表达式从字符串中提取数字的思路详解
  • Python 匹配任意字符(包括换行符)的正则表达式写法
  • python的正则表达式re模块的常用方法
  • Python使用中文正则表达式匹配指定中文字符串的方法示例
  • Python匹配中文的正则表达式
  • python使用正则表达式(Regular Expression)方法超详细