Python 正则表达式 findall 带变量

2024-03-29

我正在尝试使用 re.findall 与后视和前瞻来提取数据。当我不使用 raw_input 变量时,正则表达式工作正常,但我需要用户能够输入各种不同的搜索词。

这是当前的代码:

me = re.findall(r"(?<='(.+)'+variable+'(.+)')(.*?)(?='(.+)+variable+(.+)')", raw)

正如您所看到的,我正在尝试提取一个搜索词之间的字符串。

但是,每次使用这种类型的格式时,都会出现固定宽度错误。有没有办法解决?

我也尝试过以下格式但没有成功。

variable = raw_input('Term? ')
'.*' + variable + '.*'

and

'.*%s.*' % (variable, )

and

'.*{0}.*'.format(variable)

and

 '.*{variable}.*'.format(variable=variable)

我不确定这是否是您的意思,但它可能会让您开始。据我理解你的问题,你不需要向前看或向后看。这是针对 Python 2.x 的(不适用于 Python 3):

>>> import re
>>> string_to_search = 'fish, hook, swallowed, reeled, boat, fish'
>>> entered_by_user = 'fish'
>>> search_regex = r"{0}(.+){0}".format(entered_by_user)
>>> match = re.search(search_regex, string_to_search)
>>> if match:
...     print "result:", match.group(1).strip(' ,')
...
result: hook, swallowed, reeled, boat

如果您确实想要结果中的最后一个“鱼”,如上面的评论所示,那么只需删除第二个{0}来自format() string.

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

Python 正则表达式 findall 带变量 的相关文章

  • 视频背景和按钮 - 移动

    我已经建立了this app http finnfrotscher pythonanywhere com on Flask 目前没有移动支持 由于视频加载时间相当长 因此我希望在手持设备上打开页面时提供相同的视频 但具有不同的分辨率 剪辑和
  • OpenGL 说“from_param 收到了一个不连续的数组”

    安装 Yosemite 后 我必须升级 numpy PyOpenGL 等 现在 以前运行的程序给了我以下堆栈跟踪 file latebind pyx line 44 in OpenGL accelerate latebind Curry c
  • Selenium find_elements_by_css_selector 返回一个空列表

    我正在尝试选择包含以下内容的所有 idcoupon link关键字与以下脚本 from selenium import webdriver from selenium webdriver common keys import Keys dr
  • Flask 模板中点表示法和方括号之间的区别

    在 Flask Web 框架中使用方括号或点符号有什么区别 两者似乎都有效 例如 在Python脚本中我可以设置session username Geraint 然后我可以使用模板访问它 session username or sessio
  • Plotly:如何使用日期时间索引绘制中心有一条线的范围?

    我想绘制一条周围有范围的线 就像这张照片所示 我发布了一个原始问题 但没有指定索引是日期时间索引 我以为这并不重要 但我错了 有一个答案用数字索引覆盖它 Plotly 如何制作具有多条线和标准差阴影区域的图形 https stackover
  • 将正则表达式扩展到负数

    我想将以下正则表达式扩展到负数 this value this value replace 0 9 g 我尝试添加减号 执行类似 0 9 g 的操作 但这允许在数字的任何位置输入减号 我只想允许数字开头出现一次减号 随后出现的减号应被忽略
  • 带权重的欧几里得距离

    我目前正在使用SciPy计算欧氏距离 dis scipy spatial distance euclidean A B 在哪里 A B是5维位向量 现在工作正常 但是如果我为每个维度添加权重 是否仍然可以使用 scipy 我现在拥有的 sq
  • 如何搜索包含表情符号的文本?

    我们有一个 MySQL InnoDB 表 带有一个文本字段COLLATE utf8mb4 unicode ci 我需要搜索包含任何表情符号字符的行 我搜索了相当多的问题 但人们似乎有一个他们正在搜索的表情符号列表 我实际上正在寻找一种可以找
  • 在 __init__ 中使用属性设置器

    如何在中使用属性设置器 init 没有 pylint 抱怨该属性已在外部定义 init 例如 以下代码仅产生一个异常 该异常被底部的 try 子句捕获 class CircleNotUsingSetterInInit object def
  • Python:在 Plotly 中的图形上方创建注释空间

    我想在图中创建额外的注释空间 请参阅附图中的绿色区域 目前 y 轴定义了绘图的高度 我可以将绘图推到超出 y max 限制 在某个点 在图像中标记为红色 之后隐藏 y 轴吗 我尝试避免轴到达 评论部分 绿色 谢谢你 在此输入图像描述 htt
  • 有没有办法将类实例定义为 None ?

    例如 当我有这样一个Node类定义 class Node def init self val None next None self val val self next next def bool self return self val
  • Selenium + Python如何监听元素的变化

    这个想法是创建一个机器人来读取聊天消息 所有消息都在一个ul gt li 不必写消息 例如 ul class message list li class message Hello There li li class message Hel
  • Tkinter 嵌套主循环

    我正在写一个视频播放器tkinter python 所以基本上我有一个可以播放视频的 GUI 现在 我想实现一个停止按钮 这意味着我将有一个mainloop 对于 GUI 还有另一个嵌套mainloop 播放 停止视频并返回 GUI 启动窗
  • 使用正则表达式解析HLS m3u8文件

    我想解析 HLS master m3u8 文件并从中获取带宽 分辨率和文件名 目前我正在使用字符串解析来搜索字符串中的某些模式并执行子字符串来获取值 示例文件 EXTM3U EXT X STREAM INF PROGRAM ID 1 BAN
  • 英国日期正则表达式[重复]

    这个问题在这里已经有答案了 我正在尝试创建一个验证英国日期格式的正则表达式 我有以下内容 0 1 9 12 0 9 3 01 0 1 9 1 012 19 20 d d 这对于验证非常有用 09 12 2011 但如果日期是 9 12 20
  • 如何使用 python 将威布尔分布拟合到数据?

    我正在寻找使用 Python 3 4 找到最适合一组数据的威布尔参数 import scipy stats as ss list1 list2 for x in range 0 10 list1 append ss exponweib pd
  • 在函数中调用 patsy 时出现命名空间问题

    我正在尝试为 statsmodels 公式 API 编写一个包装器 这是一个简化版本 该函数的作用远不止于此 import statsmodels formula api as smf def wrapper formula data kw
  • Python Asyncio 子进程永远不会完成

    我有一个简单的 python 程序 我用它来测试带有子进程的 asyncio import sys time for x in range 100 print processing s 100 x sys stdout flush prin
  • 如何将 MNIST 图像下载为 PNG

    我想将 MNIST 图像作为 PNG 文件下载到我的计算机上 我找到了这个页面 http yann lecun com exdb mnist http yann lecun com exdb mnist 我按下后 train images
  • Ruby 将不可打印的字符转换为数字

    我有一个包含不可打印字符的字符串 我目前正在做的是将它们替换为波浪号 使用 string gsub print 但是 我实际上想将它们转换为整数值 我尝试了这个 但它总是输出0 string gsub print 1 to i 想法 字符串

随机推荐

  • 我可以在 LINQ 查询中使用扩展方法吗?

    我有以下代码 public QuestionDetail GetQuestionDetail int questionId Question question questionsRepository GetById questionId Q
  • SpringBoot不处理org.hibernate.exception.ConstraintViolationException

    我在实体类中定义了一个用于验证电子邮件的模式 在我的验证异常处理程序类中 我添加了 ConstraintViolationException 的处理程序 我的应用程序使用 SpringBoot 1 4 5 配置文件 java Entity
  • 如何访问 WPF Canvas 类的子级?

    如何访问 WPF Canvas 类的子级 这是一门很酷的课程 我喜欢你添加孩子的方式 但是一旦它们存在 您如何查看它们以阅读它们的状态和内容 我知道如果将孩子放在 XAML 中会很容易 但是 如果您在运行时动态地将子项添加到画布中该怎么办
  • CSS 边框混乱

    只是困惑为什么当悬停在 border bottom 时 边框与内容配合得很好 但当更改为 border top 时 它会向下推内容 这是代码 ul list style type none margin 0 padding 0 width
  • 有什么方法可以判断用户的python环境是否是anaconda

    我正在分发一个内部 python 库 如果用户在运行此文件时使用 anaconda 则将自动更新库的依赖项 这是应要求提供的 如果由我决定 我会让用户控制他们自己的软件包 到目前为止 我想出了类似的东西 def user has conda
  • Ruby、Rails 和两个日期之间的差异

    我会让这个例子说明一切 ruby 1 9 2 p0 gt DateTime now gt Mon 14 Feb 2011 20 02 49 0100 ruby 1 9 2 p0 gt User first created at gt Tue
  • 如何在Wordpress中通过父页面标题获取页面的所有子页面?

    例子 About technical medical historical geographical political 如何创建这样的函数 function get child pages by parent title title th
  • 点源变量 VS 全局变量

    我有两种从单独的脚本文件引用脚本变量的方法 以下是两个基本示例 1 点源变量 ps1 Source source Destination dest 执行 ps1 Variables ps1 Copy Item Path Source Des
  • 在 Pandas 中,如何根据列的值对多索引的一个级别进行排序,同时保持另一级别的分组

    我现在正在大学学习数据挖掘课程 但我有点陷入多索引排序问题 实际数据涉及大约 100 万条电影评论 我试图根据美国邮政编码进行分析 但为了测试如何做我想做的事 我一直在使用一个小得多的数据集 其中包含 250 个随机生成的数据集我使用的是年
  • 结构伪类和属性选择器不能一起工作

    我有这个 HTML 代码 div class field div
  • 如何在不使用 R 中的 for 循环的情况下编写此指标矩阵

    我有一个由一系列数字给出的因子向量 这些因素也可以在单独的数据集中找到 称为test set and train set 以下代码的作用是查找数据集中的因子在因子向量中匹配的位置 并将 1 放在矩阵的位置 乘以这个矩阵compound te
  • 在持续重构的项目中使用 git/mercurial?

    我试图了解我是否真的有使用 git mercurial 的情况 我工作的项目是java和c 项目 通常有5 20人致力于 一个共同的目标 发布 大多数开发人员都是专业开发人员 重构代码一直 所以典型的linux内核有大量的 单独文件中相对独
  • 有没有一种简单的方法来获取时间戳==昨天的数据?

    有没有一种简单的方法来获取时间戳 昨天的数据 我只想要昨天的数据 SELECT COUNT t0 user id AS t0 qt AC5uO9oi FROM something here AS t0 WHERE t0 event type
  • 了解“中位数的中位数”算法

    我想了解以下示例的 中位数 算法 我们有 45 个不同的数字 分为 9 组 每组 5 个元素 48 43 38 33 28 23 18 13 8 49 44 39 34 29 24 19 14 9 50 45 40 35 30 25 20
  • 如何安装uWebSockets?

    我通过 VMware 在 Windows 10 上运行 ubuntu 因为Udacity课程需要uWebSockets来运行模拟器 这是班级安装它的步骤 run chmod a x install linux sh 这是install li
  • 在 For 循环内创建线程 C++

    我一直在 for 循环内尝试多线程 基本代码块将是这样的 void function int a string b MyClass Obj MyClass2 Obj2 execution part void anotherclass Mem
  • C# 类多态

    为什么下面代码的结果是 Class AA级A级 public class A public virtual void f Console WriteLine Class A public class B A public virtual v
  • 如何保护网站免受 DoS 攻击

    保护站点免受 DoS 攻击的最佳方法是什么 知道流行的网站 服务如何处理这个问题吗 应用程序 操作系统 网络 托管级别的工具 服务是什么 如果有人能分享他们的真实经历 那就太好了 Thanks 您确定是说 DoS 不是注入吗 在 Web 编
  • Materialise css 图标不显示在 Safari 浏览器中

    我注意到materialized CSS图标不显示在Safari v5 1 7 7534 57 2 关于这个主题进行了很多搜索 但没有任何有关 safari 的浏览器兼容性的文档已列出 谁能告诉我这是否是一个需要修复的错误 或者是否有其他方
  • Python 正则表达式 findall 带变量

    我正在尝试使用 re findall 与后视和前瞻来提取数据 当我不使用 raw input 变量时 正则表达式工作正常 但我需要用户能够输入各种不同的搜索词 这是当前的代码 me re findall r lt variable vari