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

yipeiwu_com5年前Python基础

前面学习过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()函数相同的功能。

总结

以上所述是小编给大家介绍的python使用正则表达式的search()函数实现指定位置搜索功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对【听图阁-专注于Python设计】网站的支持!

相关文章

详解在Python程序中使用Cookie的教程

大家好哈,上一节我们研究了一下爬虫的异常处理问题,那么接下来我们一起来看一下Cookie的使用。 为什么要使用Cookie呢? Cookie,指某些网站为了辨别用户身份、进行sessio...

Python中psutil的介绍与用法

psutil简介 psutil是一个跨平台库(http://pythonhosted.org/psutil/)能够轻松实现获取系统运行的进程和系统利用率(包括CPU、内存、磁盘、网络等...

对Python 窗体(tkinter)文本编辑器(Text)详解

如下所示: import tkinter win=tkinter.Tk() text=tkinter.Text(win) #文本编辑器(用于展示数据) text.insert(t...

python安装pywin32clipboard的操作方法

要使用到剪贴板的方法,搜索到有两个包可以用,pyperclip,和pywin32clipboard,pyperclip在3.5版本中不能够import,可以手动下载安装,未查到原因;py...

python基础教程之常用运算符

Python的运算符和其他语言类似 (我们暂时只了解这些运算符的基本用法,方便我们展开后面的内容,高级应用暂时不介绍) 数学运算 复制代码 代码如下: >>>print...