查找所有出现的子字符串(包括重叠)?

2024-04-06

好的,所以我发现了这个:如何查找子字符串的所有出现位置? https://stackoverflow.com/questions/4664850/find-all-occurrences-of-a-substring-in-python

也就是说,要获取列表中子字符串重叠出现的索引,您可以使用:

[m.start() for m in re.finditer('(?=SUBSTRING)', 'STRING')]

这是有效的,但我的问题是要查找的字符串和子字符串都是由变量定义的。我对正则表达式了解不够,不知道如何处理它 - 我可以让它与非重叠子字符串一起工作,那就是:

[m.start() for m in re.finditer(p3, p1)]

Edit:

既然有人问了,那我就具体说一下。 p1 和 p3 可以是任何字符串,但如果是,例如p3 = "tryt" and p1 = "trytryt",结果应该是[0, 3].


论据re.finditer http://docs.python.org/2/library/re.html#re.finditer是简单的字符串。如果变量中有子字符串,只需将其格式化为正则表达式即可。就像是'(?={0})'.format(p3)是一个开始。自从各种符号确实有特殊的含义 http://docs.python.org/2/library/re.html#regular-expression-syntax在 RE 中你会想逃离它们。幸运的是re module http://docs.python.org/2/library/re.html包括re.escape http://docs.python.org/2/library/re.html#re.escape正是为了这样的需要。

[m.start() for m in re.finditer('(?={0})'.format(re.escape(p3)), p1)]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

查找所有出现的子字符串(包括重叠)? 的相关文章

  • 正则表达式中的“g”标志是什么意思?

    的含义是什么g正则表达式中的标志 之间有什么区别 g and g用于全局搜索 这意味着它将匹配所有出现的情况 通常你还会看到i这意味着忽略大小写 参考 全局 JavaScript MDN https developer mozilla or
  • 如何替换Python字符串中的正确字母

    任务是 您的任务是纠正数字化文本中的错误 您只需处理以下错误 S 被误解为 5 O 被误解为 0 I 被误解为 1 我的代码 def correct string for i in string if 5 in string string
  • DynamodB:如何更新排序键?

    该表有两个键 filename 分区键 和eventTime 排序键 我要更新eventTime对于某些filename Tried put item and update item 发送相同的filename与新的eventTime但这些
  • 使用管理员权限打开cmd(Windows 10)

    我有自己的 python 脚本来管理我的计算机上的 IP 地址 它主要在命令行 Windows 10 中执行netsh命令 您必须具有管理员权限 这是我自己的计算机 我是管理员 运行脚本时我已经使用管理员类型的用户 Adrian 登录 我无
  • Python:json_normalize pandas 系列给出 TypeError

    我在 pandas 系列中有数万行像这样的 json 片段df json IDs lotId 1 Id 123456 date 2009 04 17 bidsCount 2 IDs lotId 2 Id 123456 date 2009 0
  • Python Selenium 打印另存为 PDF 等待文件名输入

    我正在尝试通过打印对话框将网站另存为 PDF 我的代码允许我另存为pdf 但要求我输入文件名 我不知道如何将文件名传递到弹出框 附上我的代码 import time from selenium import webdriver import
  • Python speedtest.net,或等效的[关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 是否有一个 Python 库可以实现 SpeedTest net 测试或等效的互联网连接速度测试 GitHub上有一个项目叫速度检查 https gi
  • 会话数据库表清理

    该表是否需要清除或者由 Django 自动处理 Django 不提供自动清除功能 然而 有一个方便的命令可以帮助您手动完成此操作 Django 文档 清除会话存储 https docs djangoproject com en dev to
  • 在 Python 中从 Excel 复制 YEARFRAC() 函数

    因此 我使用 python 来自动执行一些必须在 Excel 中执行的重复任务 我需要做的计算之一需要使用yearfrac 这在Python中被复制了吗 I found this https lists oasis open org arc
  • 在 django 中导入设置时出现奇怪的错误

    我有很多项目在 ubuntu 中使用 python2 7 和 virtualenv virtualenvwrapper 工作 在我的工作中 一些开发人员使用 macosx 和 windows 通常我像往常一样创建项目 django admi
  • vscode 中正则表达式的不完整量词

    我正在尝试为对象的开头创建一个正则表达式 以便我可以用单个替换完整的块 在vscode的查找和替换中 My Regex id oid 0 9 product id 0 9 我的示例输入 id oid 973 product id 973 p
  • Python:导入模块一次然后与多个文件共享

    我有如下文件 file1 py file2 py file3 py 假设这三个都使用 lib7 py lib8 py lib9 py 目前 这三个文件中的每一个都有以下行 import lib7 import lib8 import lib
  • 如何通过selenium中弹出的身份验证?

    我正在尝试使用带有 Selenium 的 Python 脚本加载需要身份验证的网页 options webdriver ChromeOptions prefs download default directory r download de
  • 在Python中使用pil读取tif图像时出现值错误?

    我必须读取尺寸的tif图像2200 2200并输入 uint16 我将 PIL 库与 anaconda python 一起使用 如下所示 from PIL import Image img Image open test tif img i
  • 根据标点符号列表替换数据框中的标点符号[重复]

    这个问题在这里已经有答案了 使用 Canopy 和 Pandas 我有数据框 a 其定义如下 a pd read csv text txt df pd DataFrame a df columns test test txt 是一个单列文件
  • tf.print() vs Python print vs tensor.eval()

    看来在Tensorflow中 至少有三种方法可以打印出张量的值 我一直在读here https www freecodecamp org news debugging tensorflow a starter e6668ce72617 an
  • 如何扩展路径中的波形符(~)[重复]

    这个问题在这里已经有答案了 我有一个 shell 脚本 可以从用户那里获取目录路径 但我需要检查目录是否为空 如果用户将他的主路径与 而不是绝对路径 所以我无法检查它ls echo Specify your project root dir
  • py2exe ImportError:没有名为 的模块

    我已经实现了一个名为 myUtils 的包 它由文件夹 myUtils 文件 组成 init py 和许多名称为 myUtils 的 py 文件 该包包含在 myOtherProject py 中 当我从 Eclipse 运行它们时可以找到
  • 数字和小数的输入掩码

    在测试我的程序后 我发现了以下错误 我在 sqlserver 中的表包含 价格数字 6 2 我的程序的用户输入价格 555 00 就很好了 但是当他输入 555555 时 这是错误的 所以我需要指定掩码 其中尾数是可选的 0 到 999 小
  • 正在获取“未终止 [] 设置”。 C# 中的错误

    我正在 C 中使用以下正则表达式 Regex find new Regex url

随机推荐

  • Java 因实现访问权限较弱的接口方法而出现错误

    当我编译这段代码时 interface Rideable String getGait public class Camel implements Rideable int x 2 public static void main Strin
  • 在codeigniter中上传doc和docx文件

    大家好 我在 codeigniter 中上传 doc 和 docx 文件时遇到麻烦 我检查了 config mime php 中的 mime 类型 谁能告诉我有什么问题吗 以下是我的 mime php 文件 doc gt applicati
  • Fabric js 或 imagick 从图像中删除白色

    我遇到了这种情况 我很难在谷歌上搜索并解释 我们公司在铝上打印照片 我们为客户提供两种选择 第一个选择是将他们的照片打印在铝上 就像 他们把照片给了我们 所以如果照片有白色 背景 图片以白色背景打印 简单的 像那样 第二个选项是我们可以打印
  • CSS3 FlexBox 过渡

    在这个 codepen 示例中 http codepen io DrYSG pen ovctn http codepen io DrYSG pen ovctn我创建了三个弹性盒 我想要的效果是 当鼠标悬停在中间框上时 它的尺寸会增大 演示中
  • 允许 Discord Rewrite 机器人响应其他机器人

    我有一个 Discord 机器人和一个用于 Discord 频道的 Webhook 设置 用于每小时准时发送一条命令 然而 Discord Rewrite 默认情况下似乎会忽略从其他机器人发送的命令 我该如何禁用此功能 我是否需要修改每个命
  • 在 will-change:transform 之后保持溢出:隐藏行为

    我有一个父元素和一个子元素 parent will change transform overflow hidden position absolute child position fixed top 80px left 80px wit
  • 更改 Cookie 域

    我使用 apache 作为我的应用程序 Web 服务器的代理 并希望即时更改与 sessionid cookie 关联的域名 该cookie有一个与之关联的 company com域 我想使用apache mod rewrite 或一些类似
  • MVC 3 DataAnnotations:不允许 HTML

    无论如何 是否可以在 MVC 3 中使用 DataAnnotations 来不允许在文本框中使用 HTML 我看到了一种允许使用 HTML AllowHTMLAttribute 的方法 但是如果我不希望用户在文本框中键入任何 HTML 并且
  • iPhone - 如何使用 facebook iOS sdk 发送应用程序请求

    我正在开发一个iPhone应用程序 我需要在其中向用户发送应用程序请求 邀请和应用程序礼物 在 API 中 给出了 FB Web 应用程序的所有方法和示例 我试图模仿它们 但它们都返回 null 作为响应 请指导我如何使用 FB iOS s
  • 使用 HTML 表单编辑 MySQL 重新编码

    我正在开发一个用于学习目的的小型 PHP 项目 我想从 MySQL 数据库检索保存的数据并让用户使用 HTML 表单对其进行编辑 我能够检索数据并显示在文本框中 问题是提交表单时数据没有更新 这是我到目前为止得到的代码 文件是为了自我更新而
  • Haxe 中参数的数量可变

    我正在寻找一种在 Haxe 中做这样的事情的方法 function foo args for arg in args 这里有人可以帮助我吗 这个问题很老了 所以 我以文档的形式回答 Haxe 从 4 2 开始支持剩余参数 function
  • javascript动态更改图像src的位置 - 没有JQuery

    我有几个页面以相同的方式设置 每个页面大约有 10 到 15 张图像 如果单击它们 图像会发生变化并且变得无法单击 我为此的代码是 function ToggleOnclick elID var el document getElement
  • 如何在Python中读取文件的最后一行? [复制]

    这个问题在这里已经有答案了 我有两个要求 第一个要求 我想读取文件的最后一行并将最后一个值分配给python中的变量 第二个要求 这是我的示例文件
  • 获取 SQL Server 中的当前日期

    我进行了搜索 但无法找到获取这种格式的日期的方法 DD MM YYYY 请帮助我更改此请求 DECLARE date datetime set date 01 05 2016 SELECT User cast DATEADD SECOND
  • iOS6没有libxml2.2.7.3.dylib。有替代品吗?

    我在 xcode4 2 中创建了一个项目 当我用 xcode4 5 iOS 6 SDK 打开它时 它给出错误 255 原因似乎是缺少 libxml2 2 7 3 dylib 我有什么选择是否有其他替代品 thanks Xcode 4 5 或
  • 您最喜欢的 django 数据库迁移管理解决方案是什么? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我非常喜欢Rails 的数据库迁移管理系统 它不是 100 完美 但它确实有效 Django 还没有附
  • 替换字符串中最后一次出现的单词 - C#

    我有一个问题 我需要替换字符串中最后一次出现的单词 情况 我得到了一个格式如下的字符串 string filePath F jan11 MFrame Templates feb11 然后我替换TnaName像这样 filePath file
  • Android 手机卸载后会重新启动

    我正在开发一个应用程序 当我卸载手机时会出现半重启 这是我的旧帖子 我的手机有一个奇怪的问题 我使用的是三星 GALAXY 5 GT I5500 装有 Android 2 2 未 root 我是一名 Android 开发人员 我一直在开发非
  • .NET 配置节设计器 - 我的集合在哪里?

    我正在使用配置部分设计器 http csd codeplex com 为 NET构建一个简单的ConfigurationElementCollection It appears一切都构建得很好 并且代码是自动生成的 因为子元素通过 Inte
  • 查找所有出现的子字符串(包括重叠)?

    好的 所以我发现了这个 如何查找子字符串的所有出现位置 https stackoverflow com questions 4664850 find all occurrences of a substring in python 也就是说