gpt4 book ai didi

javascript - 正则表达式,从最后开始匹配

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:21:48 26 4
gpt4 key购买 nike

我有这样的文字:

Some guy writes: some content.

Some guy said: some content.

我想获取从“写入”到结尾的所有内容。

它看起来很简单:(说 | 写):。 *

但是。我的文本示例如下所示:

Some guy writes: blablabla, said: some content

在这里我只想得到“说:一些内容”。但是我的正则表达式从“写入”到最后获取所有内容。如何解决这个问题?

最佳答案

在正则表达式前面添加 ^.*捕获它:

^.*((?:said|writes):.*)

参见 regex demo

初始 .* 将抓取整行(或字符串,如果使用 DOTALL 修饰符)并回溯以适应 said:writes: 是字符串/行上的最后一个

(?:said|writes) 中的非捕获组仅用于分组目的,因此只有一个 ID = 1 的捕获组。

详细信息:

  • ^ - 字符串/行 anchor 的开始(取决于使用的修饰符)
  • .* - 任何 0+ 个字符尽可能多(因为* 是一个贪婪量词) (如果不使用 DOTALL 修饰符,换行符除外)
  • ((?:said|writes):.*) - 第 1 组捕获:
    • (?:said|writes) - saidwrites 字符序列
    • : - 冒号
    • .* - 任何 0+ 个字符(如果未使用 DOTALL 修饰符则换行符除外)直到行/字符串的末尾。

关于javascript - 正则表达式,从最后开始匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40862562/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com