两个单词之间的正则表达式 - 或者到行尾?

2023-12-13

简单的正则表达式问题..

我有一个非常基本的表达式,用于在两个单词之间提取文本:

BEGN:  (.*?)DETAIL:

当两个单词都存在时,效果很好,但在某些情况下,没有“DETAIL:”,所以在这些情况下,我只想捕获到文本的末尾。这可以用单个表达式实现吗?还是我需要某种类型的条件语句?


最简单的方法是使用带有$(字符串末尾锚点)交替:

BEGN:  (.*?)(?:DETAIL:|$)
BEGN:  (.*?)(?=DETAIL:|$)
(?<=BEGN:  ).*?(?=DETAIL:|$)

See the 正则表达式演示.

The (?:DETAIL:|$)是一个匹配的非捕获组DETAIL:或字符串末尾。其他两种情况类似,只是将左侧和右侧分隔符放入非消耗环视中,以便可以从匹配值中省略它们匹配的文本。

还有其他解决方案。

如果尾部分隔符可以不存在,请使用脾气暴躁的贪婪令牌或展开的:

BEGN:  ((?:(?!DETAIL:).)*)

See a 正则表达式演示

The (?:(?!DETAIL:).)*匹配第一个之前的任何文本DETAIL:。您可以添加单词边界\b before D以便仅匹配DETAIL这是一个完整的词。

如果文本可以跨越多行,请不要忘记 DOTALL 修饰符。如果您使用展开版本,则不需要 DOTALL 修饰符:

BEGN:  ([^D]*(?:D(?!ETAIL:)[^D]*)*)

See 另一个演示

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

两个单词之间的正则表达式 - 或者到行尾? 的相关文章

  • Python正则表达式查找所有单个字母字符

    我想找到字符串中单个字母字符每次出现的所有索引 我不想捕获单个字符 html 代码 这是我的代码 import re s fish oil B stack peanut c b words re finditer S s has alpha
  • 正则表达式匹配不可约分数

    我怎样才能匹配不可约分数 http en wikipedia org wiki Irreducible fraction用正则表达式 例如 23 25 3 4 5 2 100 101 等 首先 我不知道正则表达式中的gcd算法实现 Upda
  • 正则表达式仅匹配大写“单词”,但有一些例外

    我的技术字符串如下 The thing P1 must connect to the J236 thing in the Foo position 我想用正则表达式匹配那些仅大写的单词 即这里P1 and J236 问题是当句子的第一个字母
  • 性能 - String.charAt(0) 与 /^.{1}/

    从概念上讲哪个应该更快 String charAt 0 or 1 regex String charAt 0 必须处理和应用正则表达式 速度测试资源 Paul S https stackoverflow com users 1615483
  • nginx 代理重定向,带有来自 uri 的端口

    我正在尝试使用 nginx 进行重定向 这个想法是将某些端口的 uri id 1234 重定向到 localhost 1234 固定端口的重定向 location id 1234 rewrite id 1234 1 break proxy
  • python 文件中的单词分析和评分

    我正在对一个句子进行逐字分析 例如 嘿那里 这是一部很棒的电影 我有很多像上面这样的句子 我有一个巨大的数据集文件 如下所示 我必须快速查找该单词是否存在 如果是 则进行分析并存储在字典中 例如从单词的文件中获取分数 句子最后一个单词的分数
  • 从字符串中提取第一个数字

    我有一个字符串 thisLine 其中包含由空格分隔的 11 个数字 我只想获取第一个数字 我尝试了命令 grep d d thisLine value TRUE 它返回整个字符串 而不是第一个数字 如何只返回第一个数字 我确信有很多可能性
  • PHP中用逗号分解复杂字符串

    我需要分割一个包含逗号的字符串 我已经找到了类似字符串的东西 str getcsv A B with a comma eh C 但我的字符串是这样的 例如值没有包含字符 A B one two C 我需要分解它并获得 array 3 0 g
  • 如何使用斯坦福TokensRegex?

    我正在尝试使用斯坦福大学TokensRegex 但是 我在匹配器行中遇到错误 请参阅注释 它说 请尽力帮助我 下面是我的代码 String file A store has many branches A manager may manag
  • 使用正则表达式抓取文本正文,排除特定条件

    我正在使用 Python 正则表达式来获取已解析电子邮件的正文 该正文可能不包含任何内容 也可能看起来像这样 一些连贯的句子 拉尔斯克法 ljkd 其他的东西 几行电子邮件签名等等 等等等等等等 我想要电子邮件正文中的所有内容 不包括签名行
  • Preg_replace() 删除除查询结尾之外的所有内容

    首先 为我糟糕的英语感到抱歉 我有这样的疑问 SELECT t1 SELECT COUNT FROM table a t2 WHERE t1 id t2 id c AND t2 status 1 AS aula FROM table c t
  • 正则表达式 - 检查输入是否仍有机会匹配

    我们有这样的正则表达式 var regexp one two three 所以只有像这样的字符串 one two three or one two three four or one twotwo three 等会匹配它 但是 如果我们有类
  • RewriteCond REQUEST_URI - ^ 未按预期工作

    我正在 codeigniter 中构建一个网站 我在 htaccess 文件中有一系列重写条件和规则 第一组规则根据 uri 的第一段打开或关闭 SSL 然后它再次循环 如果找到匹配项 则适当地重定向页面 如果没有匹配项 并且 uri 不以
  • 文件名的正则表达式模式

    如果文件名符合以下条件 用户可以将文件放入服务器 它必须以 abc 开头 然后是一个点和一个数字 Valid file names abc 2344 abc 111 Invalid abcd 11 abc ab12 正则表达式是什么 我不能
  • 如何使用正则表达式匹配模式的最后一次出现

    我有一个像这样的字符串 token1 token2 我要匹配 token2 使用正则表达式 它应该匹配的其他可能的情况是 token1 应该匹配 最后一个 token1 应该匹配 最后一个 token1 token2应该匹配 token2
  • .htaccess 异常导致主目录出现问题

    这是我的目录结构 localhost or livehost app bootstrap public vendor code demo 这是我的 htaccess
  • 使用基于正则表达式的部分匹配来选择 Pandas 数据帧的子数据帧

    我有一个 Pandas 数据框 它有两列 一列 进程参数 列 包含字符串 另一列 值 列 包含相应的浮点值 我需要过滤出部分匹配列 过程参数 中的一组键的子数据帧 并提取与这些键匹配的数据帧的两列 df pd DataFrame Proce
  • Perl 非贪婪

    我遇到非贪婪正则表达式 regex 的问题 我已经看到有关于非贪婪正则表达式的问题 但它们没有回答我的问题 Problem 我正在尝试匹配 lol 锚点的 href Note 我知道这可以通过 Perl HTML 解析模块来完成 我的问题是
  • .htaccess 如果 URL 错误,请执行某些操作

    我正在做我的个人CMS http en wikipedia org wiki Content management system 我想在其中使用很酷 友好 的 URL 这是我的 htaccess 文件代码 RewriteEngine on
  • Javascript Replace() 和 $1 问题

    我正在尝试创建一个脚本来搜索文本中的模式并在它找到的字符串周围包裹一个标签 shop attributes td each function this html function i html return html replace E 0

随机推荐

  • 如果存储在中间“double”变量中,浮点计算会发生变化

    我正在尝试编写一个简单的以 2 为底的对数方法 我知道在计算机上表示 std log 8 0 和 std log 2 0 之类的东西很困难 我还了解 std log 8 0 std log 2 0 可能会导致值略低于 3 0 我不明白的是
  • keras.layers.TimeDistributed 与 hub.KerasLayer NotImplementedError

    我想将 tf keras TimeDistributed 层与最新 TensorFLow V2 版本 tf nightly gpu 2 0 preview 中的 tf hub inception v3 CNN 模型结合使用 输出如下所示 似
  • std::vector 是否使用 Push_back 复制对象?

    经过对 valgrind 的大量调查后 我得出的结论是std vector复制您想要的对象push back 这是真的吗 如果没有副本 向量就无法保留对象的引用或指针吗 Yes std vector
  • Java 中“+i”是什么意思? [复制]

    这个问题在这里已经有答案了 我在查看同事的代码时遇到了这个问题 她不小心留下了它 它曾经是一个字符串连接 我认为它无法编译 事实证明我错了 所以我尝试看看那个操作员做了什么 public static void main String ar
  • A-Frame 中是否有最大视频纹理分辨率?

    我有一个视频球体 我想将高分辨率 5100 x 2550px 视频纹理映射到它上面
  • 如何设置 JVM 使用的代理

    很多时候 Java 应用程序需要连接到 Internet 最常见的示例发生在读取 XML 文件并需要下载其架构时 我在代理服务器后面 如何设置 JVM 以使用代理 来自Java文档 notjavadoc API http download
  • 在 Python 中打印二维列表的一列

    假设如果A 1 2 3 4 5 6 7 8 9 Then A 0 prints 1 2 3 但为什么A 0 print 1 2 3 再次 它应该打印该列 1 4 7 不应该吗 相当于复制 A 0 是 A 副本的第一行 A 0 是 A 第一行
  • 为 UIAlertAction 编写处理程序

    我正在介绍一个UIAlertView给用户 我不知道如何编写处理程序 这是我的尝试 let alert UIAlertController title Title message Message preferredStyle UIAlert
  • Orion Context Broker 安装问题

    我们正在尝试按照此链接中的建议在 CentOS 7 虚拟机中安装 Orion Context Broker https fiware orion readthedocs io en master admin install index ht
  • 使用 WCF 接口

    我已经用谷歌搜索并阅读了几个小时 但找不到任何人可以处理我的具体情况 我想在 WCF 服务契约中使用接口来将服务与线路两端使用的类松散耦合 这将使我们能够拥有一个低级程序集 其中仅包含我们可以交给顾问的服务和数据契约 仅接口 在网络的一端
  • ggplot2 热图 2 种不同的配色方案 - 混淆矩阵:与错误分类不同的配色方案中的匹配

    我改编了混淆矩阵的热图这个答案 不过我想扭转它 在对角线中 从左上到右下 是匹配项 正确的分类 我的目标是在黄色调色板中绘制这条对角线 红色调色板中的不匹配 因此除了对角线中的瓷砖之外的所有瓷砖 In my plot cm函数我可以得到对角
  • sails:如何将数组的数组转换为json对象

    我正在尝试读取我上传的 xlsx find 并尝试将数组数组转换为 json 键值对对象 所以我正在尝试下面的代码片段 var fs uploadedFiles 0 fd var xlsxRows require xlsx rows var
  • ONVIF #PasswordDigest 的公式是什么

    我正在研究发送 GetDeviceInformation 的 ONVIF 这是必需的 wsse UsernameToken 经过查资料权威 有两个公式 1 通过 ONVIF Core Specification v241 pdf 5 12
  • 在Python中用连字符分割单词时创建两个新列

    我有一个数据集 df 其中有一列包含两个由连字符分隔的单词 我想为每个分割值创建两个新列 Value Type ABC California Low DEF New York Low 期望的输出 Value1 Value2 Type ABC
  • 如何解决错误“System.InvalidCastException - 列包含 NULL 数据”

    当我运行应用程序并搜索时出现此错误 System InvalidCastException 列包含 NULL 数据 在 Oracle ManagedDataAccess Client OracleDataReader GetDecimal
  • 如何自动重新加载我的gunicorn服务器?

    我想知道如何自动重新启动我的gunicorn 服务器 我的 django 项目代码更改后 目前 我在进行更改后正在手动重新启动 只需终止进程并重新加载即可 但这不是一个好方法 所以我想知道如何在代码更改后自动执行相同的操作 我也在使用ngi
  • 在 IntelliJ 15 中运行临时文件时出错

    Code 运行时我得到以下信息 参考 https www youtube com watch v AmeDNZ 86ig 设置 此处没有更改任何内容 找到了解决方案 请参阅此处的记录 Eugene Zhuravlev 2016 年 2 月
  • 从另一个运行空间向表单添加元素

    我有一个表单 一旦准备好 就会添加几个元素 例如 列表 添加它们可能需要一些时间 从几分之一秒到几分钟 因此 我想将处理添加到单独的线程 子线程 中 元素的数量事先未知 例如 文件夹中有多少个文件 因此它们是在子流中创建的 当子流中的处理结
  • Matplotlib 垂直拉伸 histogram2d

    我正在使用这段代码 fig plt figure num 2 figsize 8 8 dpi 80 facecolor w edgecolor k x y xy for xy in zip self pulse time distance
  • 两个单词之间的正则表达式 - 或者到行尾?

    简单的正则表达式问题 我有一个非常基本的表达式 用于在两个单词之间提取文本 BEGN DETAIL 当两个单词都存在时 效果很好 但在某些情况下 没有 DETAIL 所以在这些情况下 我只想捕获到文本的末尾 这可以用单个表达式实现吗 还是我