正则表达式——编译标志
来源:互联网 发布:网站搜索引擎优化案例 编辑:程序博客网 时间:2024/05/18 06:08
re.S
.代表匹配任意单个字符,但是一般情况下\n \t字符却匹配不到。匹配时候加上re.S编译标志即可解决问题。
>>> import re>>> r1 = r"qq.com" #这里的‘.‘不止是点,代表匹配任意单个字符>>> re.findall(r1, "qq.com")['qq.com']>>> re.findall(r1, "qqxcom")['qqxcom']>>> re.findall(r1, "qqxcom", re.S)['qqxcom']>>> re.findall(r1, "qq\ncom") #但是在匹配\n \t等却不行,加上re.S编译标志即可[]>>> re.findall(r1, "qq\ncom", re.S)['qq\ncom']>>> re.findall(r1, "qq\ncom")[]>>> re.findall(r1, "qq\tcom", re.S)['qq\tcom']
re.I
re.IGNORECASE的缩写,此编译标志代表,匹配时候忽视字母大小写
>>> import re>>> r1 = r"top">>> re.findall(r1, "top Top TOP")['top']>>> re.findall(r1, "top Top TOP", re.I)['top', 'Top', 'TOP']
re.M
re.MULTILINE的缩写:多行匹配,影响 ^ 和 $
#!/usr/bin/python#coding:utf8import rer1 = r"^hello|good$"s = """hello worldhello pythonvery good"""#在一个字符串有多行的时候print re.findall(r1, s) #不加re.M之匹配第一行print "#"*20print re.findall(r1, s, re.M) #加了之后,匹配所与的行$ python e6.py ['good'] ####################['hello', 'hello', 'good']
re.X
re.VERBOSE的简写,能够使用REs的verbose状态,使之正则表达式更加清晰。
#!/usr/bin/python#coding:utf8import re#匹配一个电话号码:0570-1234567res = r"""\d{3,4}-?\d{6,7} """#res = r"\d{3,4}-?{6,7}" 如果这样的话,匹配不需要加re.Xprint re.findall(res, "0570-1234567")print "#"*20print re.findall(res, "0570-1234567", re.X)$ python e7.py [] ####################['0570-1234567']
0 0
- 正则表达式——编译标志
- 正则表达式标志
- JAVA正则表达式之标志表达式
- python正则表达式flags标志位
- 正则表达式编译
- 【编译原理】正则表达式
- 正则表达式三 :编译
- Python 正则表达式替换特定字符为标志的字符串
- 正则表达式中的标志(/g和/m)
- 关于 Java 中 正则表达式的 MULTILINE 标志
- python里使用正则表达式的MULTILINE标志
- python里使用正则表达式的DOTALL标志
- 正则表达式—-转义
- 正则表达式—叠词
- Javascript—正则表达式
- Javascript—正则表达式
- 正则表达式—Email
- Javase—正则表达式
- Oracle数据库基础(四)--视图,序列,存储过程
- lightoj 1171 - Knights in Chessboard (II) 【奇偶图 最小割】
- 14 Longest Collatz sequence - Project Euler
- 关于AQS的学习(一)
- 安全参透之旅第2章 httpracks工具使用
- 正则表达式——编译标志
- 用Javascript进行简单的Table点击排序.
- subsets-ii
- Appium总结(二):Appium Ruby Console
- 数据库
- C语言,回溯法0-1背包问题
- Oracle数据库基础(五)--索引,触发器
- SSH的编码 和 ajax乱码问题
- vi编辑器