将正则表达式应用于子字符串而不使用字符串切片

2024-01-09

我想在较大的字符串中搜索正则表达式匹配从某个位置开始, and 不使用字符串切片.

我的背景是我想迭代地搜索字符串以查找各种正则表达式的匹配项。 Python 中的一个自然解决方案是跟踪字符串中的当前位置并使用例如

re.match(regex, largeString[pos:])

循环中。但对于非常大的字符串(~ 1MB)字符串切片,如下所示largeString[pos:]变得昂贵。我正在寻找一种方法来解决这个问题。

旁注:有趣的是,在一个利基市场Python 文档 http://docs.python.org/library/re.html#matching-vs-searching,它谈论一个可选的pos匹配函数的参数(这正是我想要的),函数本身找不到它:-)。


带有 pos 和 endpos 参数的变体仅作为正则表达式对象的成员存在。尝试这个:

import re
pattern = re.compile("match here")
input = "don't match here, but do match here"
start = input.find(",")
print pattern.search(input, start).span()

... 输出(25, 35)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将正则表达式应用于子字符串而不使用字符串切片 的相关文章

随机推荐

  • 如何使用 Java 获取 Linux 中的总磁盘空间?

    我能够获得可用磁盘空间 我如何获得总磁盘空间 我的代码是 import java io IOException import org apache commons io FileSystemUtils public class DiskSp
  • 此 linq 查询是否在 for-each 循环的每次迭代上运行?

    在关于 SO 的另一个问题中 我用如下代码回答 并得到一条评论 即 LINQ 查询可能在 for each 的每次迭代中进行评估 真的吗 我知道 LINQ 查询在其项目被评估之前不会执行 因此这种迭代结果的方式似乎可以使其在每次迭代中运行
  • SQL / PHP PDO 选择随机行

    我希望能够随机选择一名未参加考试的学生 N 并回显姓名和主题 我怎样才能实现这个目标 query db gt prepare SELECT name FROM exams WHERE faced array array N query gt
  • 使用 GSON 解析 JSON

    我在使用 GSON 时遇到了一些问题 主要是从 JSON 反序列化为 POJO 我有以下 JSON events event id 628374485 title Developing for the Windows Phone event
  • 无法绑定 GridView 列中的项目列表

    我正在构建一个应用程序 向用户显示系列比赛的实时结果 我设置数据结构如下 Countries gt Leagues gt Matches特别是在 ViewModel 中 我创建了一个可观察的国家 地区集合 如下所示 private Obse
  • Silverlight - 在 XAML 中而不是在构造函数中设置 DataContext?

    如何在 XAML 中而不是在构造函数中设置 Grid 上的 DataContext 以下是我在构造函数中执行此操作的方法 LayoutRoot 是 XAML 中定义的 XAML 网格 this LayoutRoot DataContext
  • 使用共享静态 WCF 代理客户端有哪些陷阱?

    我正在考虑将共享 读取静态 WCF 代理客户端用于高吞吐量应用程序 我相信这样做可以提高性能 但我还没有对此进行基准测试 这个想法有一些严重的缺陷吗 从我的研究中 我可以看到存在处理故障状态的问题 目前尚不清楚该状态对其他待处理请求的影响流
  • Django/Python - 每秒更新数据库

    我正在努力用 Django 和 Python 创建一个基于浏览器的游戏 并且我正在尝试为我遇到的问题之一找到解决方案 本质上 每一秒都需要更新多个用户变量 例如 有一个货币变量应该每秒增加一定数量 随着你的升级和所有这些爵士乐而逐渐变大 我
  • 在 Kotlin 中编写 React Native Android 模块?

    React Native 文档提供了吐司模块 https facebook github io react native docs native modules android html用java编写的例子 同样的例子在 Kotlin 中是
  • JSON和Unity,在游戏上显示图像[重复]

    这个问题在这里已经有答案了 我有一个测验游戏应用程序 并且我有游戏上的图像 我想显示图像 文本显示得很好 但图像却不是 这是我的 JSON C 代码 点击这里图片 https i stack imgur com AEaFB png 调用我的
  • 为什么 Rails 不断发回 Set-Cookie 标头?

    我遇到了弹性负载均衡器和清漆缓存的问题 涉及 cookie 和会话在 Rails 和客户端之间混淆 问题的一部分是 rails 几乎在每个请求上都添加了一个带有会话 ID 的 Set Cookie 标头 如果客户端已经发送session i
  • 谜题:在四个反射墙内,激光束可以通过多少种方式击中目标

    你在一个长方形的房间里遇到敌人 你只有一把激光武器 房间里没有任何障碍物 墙壁可以完全反射激光束 然而 激光只能传播一定的距离 然后就变得毫无用处 如果它撞到角落 它会沿着它来的方向反射回来 这就是谜题的进行方式 您将获得自己所在位置和目标
  • 对汇编中的指针和值感到困惑

    我正在使用 MASM 汇编器 让我们看一下这段简短的代码 来自我读过的一本书 data var1 BYTE 10h code main proc mov esi OFFSET byteVal mov al esi AL 10h 我不太明白
  • 如何计算多个纬度和经度之间的距离?

    I want to calculate total distance between each points both contains lat and long these points are stored in local datab
  • 如何创建 jQuery 价格滑块

    我一直在尝试寻找教程 但没有成功 我并不是要求任何人为我做这项工作 而是更多地看看是否有人知道任何有用的东西 所以基本上我需要我的滑块具有最小值为零和动态设置的最大值 获取动态值不是问题 0 o 200 所以中间的 o 将是可点击的滑动元素
  • 使用 jQuery 从 URL 加载动态 div 内容

    我有一个 jQuery 搜索脚本 它使用选项卡让用户定义他们想要使用的搜索类型 当用户搜索时 会创建一个类似于 的 URLtype query 当您重新加载页面时 结果丢失的原因是它们不在文档源中 它们后来被添加到 DOM 中 我认为你有两
  • 如何在c#中仅在耳机的左声道和仅在耳机的右声道播放声音?

    我需要仅在耳机的左声道上播放声音 wav 文件 而另一个文件仅在耳机的右声道上播放 我是c 新手 请帮我解决这个问题 我认为仅 WPF 无法做到这一点 但您可能想查看一下NAudio http naudio codeplex com
  • Blazor.net UI 不渲染任何内容

    我正在开发 Blaor Net 应用程序 参考了互联网上的许多帖子 我面临的问题是 我想将代码从 UI 移动到单独的文件 以保持 razor 文件干净 可读和可理解 为此 我将 UI 端 C 代码保存到一个从 BaseComponent 继
  • 使用 OpenCV 洪水填充

    我只是想使用洪水填充 但它失败了 而且我从未使用过它 所以我认为我做错了什么 Mat flooded new Mat Point flood new Point 1 1 floodedmat Mat zeros myMat2 size Cv
  • 将正则表达式应用于子字符串而不使用字符串切片

    我想在较大的字符串中搜索正则表达式匹配从某个位置开始 and 不使用字符串切片 我的背景是我想迭代地搜索字符串以查找各种正则表达式的匹配项 Python 中的一个自然解决方案是跟踪字符串中的当前位置并使用例如 re match regex