正则表达式匹配字符串之前且最接近的第一次出现

2024-01-12

我正在尝试使用正则表达式来获取最接近名称“Daily”的 ID 号。不过,我遇到了困难。 当我尝试正则表达式模式时,我得到以下结果:

  1. 从第一个 ID 出现到选择“每日”的所有内容。
  2. 所有 ID 都是单独选择的(我可以指定匹配编号来获取正确的 ID,但问题是,如果在我需要的 ID 之前添加或删除 ID,它将不再匹配)。
  3. 未找到匹配项。

我已经试了regexr http://regexr.com/3amvv测试我的正则表达式。

链接中还有我试图从中获取结果的文本示例。我没有包含全文,因为这会包含太多信息。使用当前的正则表达式模式,我可以选择“匹配编号 3”来获得我需要的结果,但问题是可以在所需结果之间添加或删除 ID。

我使用的另一种模式是}},{.*?"id":([0-9]*).*?Daily该模式会产生正确的 ID,但问题是我还需要获取名称为“9am”的部件以及其他部件的 ID。将该模式中的“Daily”更改为“9am”会返回“Daily”的 ID,而不是“9am”的 ID。

我已经尝试了很多不同的选项,但是没有一个选项能准确地找到我想要的,期望当我让正则表达式匹配所有“id”时需要指定匹配编号:([0-9]* ) 模式。

有谁知道我怎样才能正确获得想要的结果?


我想你想得到"id":8。因此,您可以使用这个正则表达式:

"id":([0-9]*)(?=[^\}]*?Daily)

See the example http://regexr.com/3an08.

澄清一下:我正在使用否定的字符类[^\}]*?在积极的前瞻中,重复次数任意,尽可能少,因为不应该有}Daily 之前的符号{"content":[{"id":7,"name":"Hourly","someRandomText":{"id":1,"moreRandomText"}},{"id":8,"1/1","name":"Daily","dailyRandom":{"id":1,"dailyRandomText"}},{"id":9,"1/1","name":"9am","amRandom":{"id":1,"amRandomText"}}]} string.

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

正则表达式匹配字符串之前且最接近的第一次出现 的相关文章

  • 正则表达式:如何匹配所有大于 49 的数字?

    我对正则表达式有点陌生 正在为正则表达式的数量字段编写验证need要使用的 如何匹配所有大于或等于 50 的数字 I tried 5 9 0 9 但这只匹配 50 99 有没有一种简单的方法来匹配所有可能大于 49 的数字 仅使用整数 事实
  • 正则表达式引擎如何解析具有递归子模式的正则表达式?

    此正则表达式匹配回文 1 2 我无法理解它是如何工作的 递归何时结束 以及正则表达式何时从递归子模式中断并转到 part Thanks 编辑 抱歉我没有解释 2 and 1 1 指第一个子模式 对其自身 2 反向引用第二个子模式的匹配 即
  • 标记(lex?parse?)正则表达式

    使用 Ruby 我想获取一个 Regexp 对象 或表示有效正则表达式的字符串 您的选择 并将其标记化 以便我可以操作某些部分 具体来说 我想采用这样的正则表达式 字符串 regex var w parts foo bar 并创建一个替换字
  • 重定向 url 的正则表达式

    是否有一个正则表达式可以匹配这些 url 重定向情况 我已经尝试了几个小时了 我得到的最接近的是 c p 但它不匹配 p or c https regex101 com r ezb0jX 1 https regex101 com r ezb
  • 使用 javascript 将多行、缩进的 json 转换为单行

    我想出了以下函数 用于将多行 缩进的 json 转换为单行 function text var outerRX s n r g innerRX s n r return text replace outerRX function 0 1 r
  • RewriteCond REQUEST_URI - ^ 未按预期工作

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

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我正在寻找至少检查 6 个字符的正则
  • JavaScript 中的正则表达式用于验证十进制数字

    我想要 JavaScript 中的正则表达式来验证十进制数字 它最多只允许两位小数 例如 它应该允许10 89但不是10 899 它还应该只允许一个句点 例如 它应该允许10 89但不是10 8 9 尝试使用以下表达式 d d 0 2 如果
  • 文件名的正则表达式模式

    如果文件名符合以下条件 用户可以将文件放入服务器 它必须以 abc 开头 然后是一个点和一个数字 Valid file names abc 2344 abc 111 Invalid abcd 11 abc ab12 正则表达式是什么 我不能
  • .htaccess 异常导致主目录出现问题

    这是我的目录结构 localhost or livehost app bootstrap public vendor code demo 这是我的 htaccess
  • 使用先前的反向引用作为命名捕获组的名称

    有没有办法使用对先前捕获组的反向引用作为捕获组的名称命名捕获组 这可能不可能 如果不可能 那么这就是一个有效的答案 下列 data description some description preg match data matches p
  • 正则表达式匹配整个单词[重复]

    这个问题在这里已经有答案了 我在 stackoverflow 上看到了很多关于使用正则表达式进行全词匹配的例子 我有以下情况 我想用 www xyz com 替换 www abc com string RetVal I am going t
  • 正则表达式拆分数字和字母组,不带空格

    如果我有一个像 11E12C108N 这样的字符串 它是字母组和数字组的串联 如何在中间没有分隔符空格字符的情况下分割它们 例如 我希望分割结果为 tokens 0 11 tokens 1 E tokens 2 12 tokens 3 C
  • 正则表达式:删除 xml 的空元素标签

    我想将所有自封闭元素替换为长语法 因为我的网络浏览器在它们上绊倒 Example becomes 我正在使用 python 风格的正则表达式 这些解决方案都不会容纳像 foo gt 这样的属性 尝试 s lt w gt s gt lt 1
  • 如何为俚语和表情符号构建正则表达式 (regex)

    我需要构建一个正则表达式来匹配俚语 即 lol lmao imo 等 和表情符号 即 P 等 我按照以下示例进行操作http www coderanch com t 497238 java java Regular Expression D
  • Javascript Replace() 和 $1 问题

    我正在尝试创建一个脚本来搜索文本中的模式并在它找到的字符串周围包裹一个标签 shop attributes td each function this html function i html return html replace E 0
  • Java 正则表达式中 \w 和 \b 的 Unicode 等效项?

    许多现代正则表达式实现解释 w字符类简写为 任何字母 数字或连接标点符号 通常 下划线 这样 正则表达式就像 w 匹配像这样的词hello l ve GO 432 or gefr ig 不幸的是 Java 没有 在爪哇 w仅限于 A Za
  • C++ 正则表达式,未知转义序列 '\.'警告

    我第一次尝试在 C 中使用正则表达式 我对转义序列有点困惑 我只是想匹配字符串开头的点 为此 我使用表达式 它有效 但我的编译器 g 生成警告 warning unknown escape sequence regex self regex
  • 用于验证 ip 列表中的 ip 范围的正则表达式

    我有正则表达式用于验证 50 个 ips 逗号分隔的列表 25 0 5 2 0 4 0 9 01 0 9 0 9 3 25 0 5 2 0 4 0 9 01 0 9 0 9 1 50 列表示例 10 10 10 1 127 0 0 1 现在
  • Laravel 验证规则仅针对字母

    我正在尝试添加验证规则以仅接受信件 我正在使用regex规则 但它仍然不起作用 下面是我的代码 Validate request input this gt validate request name gt required regex p

随机推荐