python里使用正则表达式的MULTILINE标志

原创 2017年10月29日 11:11:42
在前面学习的正则表达式里,有一些规则是对字符串的分行进行特别处理的,比如^和$的规则就是针对边界进行判定的,所以这些规则根据对换行符进行不同的处理,就会有不同的结果。当一串字符串中包含有换行符,如果设置MULTILINE标示,就当作换符处理,如果不设置就当作一行文本处理。如下例子:
#python 3.6
#蔡军生 
#http://blog.csdn.net/caimouse/article/details/51749579
#
import re

text = 'This is some text -- with punctuation.\nA second line.'
pattern = r'(^\w+)|(\w+\S*$)'
single_line = re.compile(pattern)
multiline = re.compile(pattern, re.MULTILINE)

print('Text:\n  {!r}'.format(text))
print('Pattern:\n  {}'.format(pattern))
print('Single Line :')
for match in single_line.findall(text):
    print('  {!r}'.format(match))
print('Multline    :')
for match in multiline.findall(text):
    print('  {!r}'.format(match))



结果输出如下:
Text:
  'This is some text -- with punctuation.\nA second line.'
Pattern:
  (^\w+)|(\w+\S*$)
Single Line :
  ('This', '')
  ('', 'line.')
Multline    :
  ('This', '')
  ('', 'punctuation.')
  ('A', '')
  ('', 'line.')

深入浅出Numpy
http://edu.csdn.net/course/detail/6149 

Python游戏开发入门

你也能动手修改C编译器

纸牌游戏开发

http://edu.csdn.net/course/detail/5538 

五子棋游戏开发

http://edu.csdn.net/course/detail/5487
RPG游戏从入门到精通
http://edu.csdn.net/course/detail/5246
WiX安装工具的使用
http://edu.csdn.net/course/detail/5207
俄罗斯方块游戏开发
http://edu.csdn.net/course/detail/5110
boost库入门基础
http://edu.csdn.net/course/detail/5029
Arduino入门基础
http://edu.csdn.net/course/detail/4931
Unity5.x游戏基础入门
http://edu.csdn.net/course/detail/4810
TensorFlow API攻略
http://edu.csdn.net/course/detail/4495
TensorFlow入门基本教程
http://edu.csdn.net/course/detail/4369
C++标准模板库从入门到精通 
http://edu.csdn.net/course/detail/3324
跟老菜鸟学C++
http://edu.csdn.net/course/detail/2901
跟老菜鸟学python
http://edu.csdn.net/course/detail/2592
在VC2015里学会使用tinyxml库
http://edu.csdn.net/course/detail/2590
在Windows下SVN的版本管理与实战 
http://edu.csdn.net/course/detail/2579
Visual Studio 2015开发C++程序的基本使用 
http://edu.csdn.net/course/detail/2570
在VC2015里使用protobuf协议
http://edu.csdn.net/course/detail/2582
在VC2015里学会使用MySQL数据库
http://edu.csdn.net/course/detail/2672


版权声明:本文为博主原创文章,未经博主允许不得转载。

Multi-line Comments in Python / Python中的多行注释

So interesting is python...Im gonna record down what I find in python while Im learning it. The firs...
  • GnimNiy
  • GnimNiy
  • 2008年01月24日 22:37
  • 758

Python multi thread "error: longjmp causes uninitialized stack frame"

Python 使用pycurl 在多线程下crash的问题问题背景:在工作中需要使用pycurl 在多线程情况下对server发送请求。发现py程序跑一会就回出现程序crash,console报错如下...
  • oHHPo
  • oHHPo
  • 2016年04月26日 22:14
  • 498

关于 Java 中 正则表达式的 MULTILINE 标志

先看看官方给出的说明: MULTILINE Enables multiline mode. In multiline mode the expressions ^ and $ matc...
  • butterfly5211314
  • butterfly5211314
  • 2016年03月20日 15:49
  • 638

正则表达式中的Multiline和Singleline

Multiline修饰的是^与$,就是说没有Multiline的时候,把^和$与当作每一行(/n结尾的)的开头和结束来匹配,有Multiline 的时候是与整个字符串的开头和结尾匹配;Singleli...
  • dongzhiquan
  • dongzhiquan
  • 2010年01月17日 00:07
  • 2003

Python

python学习笔记
  • sima64
  • sima64
  • 2015年09月03日 21:19
  • 395

【脚本语言系列】关于Python代码分析工具line_profiler,你需要知道的事

如何使用line_profiler逐行分析
  • MosesAaron
  • MosesAaron
  • 2017年04月21日 16:45
  • 562

Python 正则表达式 re模块

1.re模块 这个模块提供了类似于perl中的正则表达式匹配操作。匹配模型(pattern)和待匹配的字符串(string)可以是Unicode字符串或者ANSI字符串。 正则表达式用反斜杠(‘\’)...
  • herozgx
  • herozgx
  • 2013年09月26日 22:07
  • 741

正则表达式——编译标志

re.S .代表匹配任意单个字符,但是一般情况下\n \t字符却匹配不到。匹配时候加上re.S编译标志即可解决问题。 >>> import re >>> r1 = r"qq.com" #这里的‘....
  • u011402596
  • u011402596
  • 2015年10月25日 14:06
  • 679

Python Intro - Multithread

http://blog.csdn.net/ajaxuser/article/details/7365436 python通过两个标准库(thread, threading)提供了对多线程...
  • fanbird2008
  • fanbird2008
  • 2017年04月21日 09:44
  • 280

python performance

1.其他版本2.概述:优化需要优化的3.选择正确的数据结构4.排序5.字符串连接6.循环7.避免“点”...8.局部变量9.初始化字典元素10.import语句的消耗11.数据聚合12.少做13.Py...
  • u010786109
  • u010786109
  • 2015年02月05日 10:54
  • 554
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:python里使用正则表达式的MULTILINE标志
举报原因:
原因补充:

(最多只允许输入30个字)