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

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(使用前将#替换为@)

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

  • 带括号的上下文管理器

    我试图了解新的新内容带括号的上下文管理器Python 3 10 中的功能 新功能中的顶部项目here https docs python org 3 10 whatsnew 3 10 html 我的测试示例是尝试编写 with open f
  • 将打开关闭的 Google Chrome 浏览器添加到 Selenium linkedin_scraper 代码中

    我正在尝试抓取一些知名人士的 LinkedIn 个人资料 该代码获取一堆 LinkedIn 个人资料 URL 然后使用Selenium and scrape linkedin收集信息并将其作为 json 文件保存到文件夹中 我遇到的问题是
  • 我怎样才能在python cgi中找到上传的文件名

    我制作了如下简单的网络服务器 import BaseHTTPServer os cgi import cgitb cgitb enable html
  • C# 中将一个字符串拆分为另一个字符串

    我一直在使用Split 分割字符串的方法 但这似乎仅在您按字符分割字符串时才有效 有没有办法分割一个string 另一个字符串是按参数分割的 我尝试将拆分器转换为字符数组 但没有成功 换句话说 我想分割string THExxQUICKxx
  • 通过鼻子测试检查某个函数是否发出警告

    我正在使用编写单元测试nose http somethingaboutorange com mrl projects nose 0 11 2 我想检查函数是否引发警告 该函数使用warnings warn 这是很容易就能做到的事情吗 def
  • Django 如何从 ManyToManyField 序列化并列出全部

    我正在使用 Django 1 9 1 开发移动应用程序后端 我实现了关注者模型 现在我想列出用户的所有关注者 但目前我不得不这样做 我还使用 Django Rest 框架 这是我的 UserProfile 模型 class UserProf
  • 电话号码的正则表达式,不允许全零

    需要您的正则表达式帮助 我当前的正则表达式是 d 8 最小长度为 8 不允许包含字母 特殊字符和空格 我还想禁止全零 如 00000000 Thanks 该模式应该可以满足您的需求 0 d 8 The 0 部分是负前瞻 将阻止仅输入零 Ex
  • 使用 Python 的文本中的词频但忽略停用词

    这给了我文本中单词的频率 fullWords re findall r w allText d defaultdict int for word in fullWords d word 1 finalFreq sorted d iterit
  • 在函数调用之间保存数据的Pythonic方式是什么?

    对我来说 上下文是我需要在调用修改该值的函数之间保留的单个 int 的信息 我可以使用全局 但我知道这是不鼓励的 现在 我使用了包含 int 的列表形式的默认参数 并利用了可变性 以便在调用之间保留对值的更改 如下所示 def increm
  • 合并字符数组中的最小重复次数

    假设我有两个数组 我想合并它们 以便合并后的数组具有最小重复次数 例如 x x 是重复 arr1 x d d m f m arr2 d d x f f m 唯一的条件是在合并数组中 元素来自arr1 and arr2必须出现在各自的订单中a
  • 如何使用 msgpack 进行读写?

    如何序列化 反序列化字典data with msgpack http msgpack org The Python 文档 http msgpack python readthedocs io en latest badge latest似乎
  • 如何在 Python 中执行相当于预处理器指令的操作?

    有没有办法在 Python 中执行以下预处理器指令 if DEBUG lt do some code gt else lt do some other code gt endif There s debug 这是编译器预处理的特殊值 if
  • 向量化 numpy bincount

    我有一个 2d numpy 数组 A我要申请np bincount 到矩阵的每一列A生成另一个二维数组B由原始矩阵每列的 bincounts 组成A 我的问题是 np bincount 是一个采用一维数组的函数 它不是像这样的数组方法B A
  • 检查 href 中是否存在 jQuery 中的查询字符串

    我目前有一段 jQuery 用于附加带有一些位置信息的 URL jQuery a attr href function return this href location 123 abc 我的问题是大多数链接都有一个 其中使用上面的 就可以
  • 从 csv 中读取 pandas 数据帧,以非固定标头开始

    我有许多数据文件是由我的实验室中使用的一些相当黑客的脚本生成的 该脚本非常有趣 因为它在标头之前附加的行数因文件而异 尽管它们具有相同的格式并具有相同的标头 我正在编写一个批处理来将所有这些文件处理为数据帧 如果我不知道位置 如何让 pan
  • psutil:测量特定进程的CPU使用率

    我正在尝试测量进程树的 cpu 使用率 目前获取进程 没有子进程 的 cpu usage 就可以了 但我得到了奇怪的结果 import psutil p psutil Process PID p cpu percent 还给我float g
  • Jinja2中获取请求参数

    如何检索请求参数a在 Jinja2 模板中 http foo bar a 1 我这个答案有点晚了 但其他解决方案并没有真正考虑到您对 Flask 的使用 事实上 您将 Flask 与 Jinja2 一起使用 这使得您的情况与其他框架有点不同
  • 无需时间即可生成随机字符串?

    我知道如何使用 Runes 和播种 rand Init 在 go 中生成随机字符串time UnixNano 我的问题是 是否可以 使用 stdlib 在不使用当前时间戳 安全 的情况下播种 rand 此外 我问 因为仅仅依靠时间来为敏感操
  • Selenium Python 使用代理运行浏览器[重复]

    这个问题在这里已经有答案了 我正在尝试编写一个非常简单的脚本 该脚本从 txt 文件获取代理 不需要身份验证 并用它打开浏览器 然后沿着代理列表循环此操作一定次数 我确实知道如何打开 txt 文件并使用它 我的主要问题是让代理正常工作 我见
  • python中匹配3个或更多相同的字符

    我正在尝试使用正则表达式在字符串中查找三个或更多相同的字符 例如 你好 不匹配 噢 会的 我尝试过做类似的事情 re compile 1 3 a zA Z re compile w 1 5 但似乎都不起作用 w 1 2 是您正在寻找的正则表

随机推荐

  • 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 也就是说