python里使用正则表达式的search()函数实现指定位置搜索

原创 2017年10月17日 17:22:53
前面学习过search()可以从任意一个文本里搜索匹配的字符串,也就是说可以从任何位置里搜索到匹配的字符串。但是现实世界很复杂多变的,比如限定你只能从第100个字符的位置开始匹配,100个字符之前的不要匹配,这样的需求怎么样实现呢?来看下面的例子,它就是指定位置开始搜索:

#python 3.6
#蔡军生 
#http://blog.csdn.net/caimouse/article/details/51749579
#
import re

text = 'This is some text -- with punctuation.'
pattern = re.compile(r'\b\w*is\w*\b')

print('Text:', text)
print()

pos = 0
while True:
    match = pattern.search(text, pos)
    if not match:
        break
    s = match.start()
    e = match.end()
    print('  {:>2d} : {:>2d} = "{}"'.format(
        s, e - 1, text[s:e]))
    # Move forward in text for the next search
    pos = e


结果输出如下:

Text: This is some text -- with punctuation.


   0 :  3 = "This"
   5 :  6 = "is"

在这个例子里,实现一个低效的iterall()函数相同的功能。

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

Python游戏开发入门

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

你也能动手修改C编译器

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

纸牌游戏开发

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


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

python正则表达式search方法

python正则表达式模块re中的search方法应用(python2.x) 函数:re.search(pattern,string,flags=0)          flags标识位 0x00: ...
  • hard_lushunming
  • hard_lushunming
  • 2017年03月26日 22:12
  • 2546

正则表达式——位置匹配

一、单词边界   在实际中,我们有时需要查找特定的单词,而不想把包含在其他单词中的,作为其部分的单词匹配出来,例如:      这里假如我们要把句子中的a全部替换为an,进行匹配时,其他单词中的...
  • qq_26739277
  • qq_26739277
  • 2017年01月31日 19:21
  • 692

python——巧用正则寻找字符串中的特定字符的位置

假定字符串为: 小明买冰棍花了5元,买糖果花了3元,买游戏花了59元,小明今天一共花了67元。 要找到字符串中所有"元"所在的位置,只需几行代码即可搞定。 import re str=u'小明买冰...
  • chenKFKevin
  • chenKFKevin
  • 2017年05月02日 17:37
  • 3307

python 正则化

https://mp.weixin.qq.com/s?__biz=MzA4MjEyNTA5Mw==&mid=2652564775&idx=2&sn=3082d2377896af7eab919d0b52...
  • summermaoz
  • summermaoz
  • 2017年06月12日 14:18
  • 1015

Python3 如何优雅地使用正则表达式(详解二)

使用正则表达式 现在我们开始来写一些简单的正则表达式吧。Python 通过 re 模块为正则表达式引擎提供一个接口,同时允许你将正则表达式编译成模式对象,并用它们来进行匹配。 小甲鱼解释:...
  • goodboy5201314
  • goodboy5201314
  • 2015年01月12日 14:28
  • 2159

Python中re(正则表达式)模块函数学习

今天学习了Python中有关正则表达式的知识。关于正则表达式的语法,不作过多解释,网上有许多学习的资料。这里主要介绍Python中常用的正则表达式处理函数。 re.match ,从字符串开头匹配,返回...
  • my2010Sam
  • my2010Sam
  • 2013年05月22日 15:14
  • 9279

python的正则提取技巧

转自:http://ju.outofmemory.cn/entry/71121 用python正则提取字符串的方法 在日常工作中经常遇见在文本中提取特定位置字符串的需求.python的...
  • maggie2425
  • maggie2425
  • 2016年10月20日 16:43
  • 971

Python之re(正则表达式)模块小结

这篇文章借鉴了一些其他文章和教程,介绍了python中re模块的一些规则和常用函数,不足之处希望指出,我也很希望能整理出一份很完美的小结。 一、正则表达式模式 模式字符串使...
  • u014467169
  • u014467169
  • 2016年05月08日 15:20
  • 8768

python里使用正则表达式的前向搜索或后向搜索模式

在许多的情况下,很多要匹配内容是一起出现,或者一起不出现的。比如《》,,这样的括号,不存在使用半个的情况。因此,在正则表达式里也有一致性的判断,要么两个尖括号一起出现,要么一个也不要出现。怎么样来实现...
  • caimouse
  • caimouse
  • 2017年11月06日 18:29
  • 878

Python 正则表达式(常用函数)

下面介绍一些Python中常用的正则表达式处理函数。re.match()函数原型:match(pattern, string, flags=0) Try to apply the patter...
  • SeeTheWorld518
  • SeeTheWorld518
  • 2015年10月21日 12:28
  • 1327
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:python里使用正则表达式的search()函数实现指定位置搜索
举报原因:
原因补充:

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