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

yipeiwu_com6年前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设计】网站的支持!

相关文章

解决pandas.DataFrame.fillna 填充Nan失败的问题

如果单独是 >>> df.fillna(0) >>> print(df) # 可以看到未发生改变 >>> print(d...

Python(Tornado)模拟登录小米抢手机

Python(Tornado)模拟登录小米抢手机

今天看到同事参与小米的抢购,几经数个星期的尝试,终于抢到了一台小米电视……看了一下小米的抢购流程,似乎可以用程序可破。于是想写点东西玩玩(你懂的……),第一步肯定是先得模拟登录小米帐号,...

使用matplotlib中scatter方法画散点图

使用matplotlib中scatter方法画散点图

本文实例为大家分享了用matplotlib中scatter方法画散点图的具体代码,供大家参考,具体内容如下 1、最简单的绘制方式 绘制散点图是数据分析过程中的常见需求。python中最有...

在Python中使用gRPC的方法示例

在Python中使用gRPC的方法示例

本文介绍了在Python中使用gRPC的方法示例,分享给大家,具体如下: 使用Protocol Buffers的跨平台RPC系统。 安装 使用 pip pip install gr...

如何基于python实现脚本加密

如何基于python实现脚本加密

这篇文章主要介绍了如何基于python实现脚本加密,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 from pathlib im...