gpt4 book ai didi

javascript - 将整个列表捕获为一个项目的正则表达式-javascript

转载 作者:行者123 更新时间:2023-11-30 14:45:26 26 4
gpt4 key购买 nike

我正在为字符串文本开发 js 过滤器,我想使用正则表达式来捕获整个列表项列表,这样我就可以对它们进行计数并遍历它们。

请看我想要实现的目标:https://regex101.com/r/Jd3JYW/2/

我知道如何使用此正则表达式 (^\*[^\*](.*)$)/gm 分别捕获行,但我需要捕获整个列表以便区分两个列表,所以我可以让他们每个人都从 n.1 开始。

我希望下面的代码可以工作 ((^\*[^\*](.*)$)+)/gm 我认为这会捕获第一项(因为它适用于单独的行)以及任何后续行,直到模式被破坏。但是它不起作用,我仍然捕获到单独的行。你们有什么想法吗,如何捕获整个列表?谢谢。

最佳答案

您使用 $ 来匹配行尾,但它是一个零宽度断言。您应该使用一些consuming 模式来匹配行尾,例如[\r\n]+:

/^(?:\*[^*\n].*(?:[\r\n]+|$))+/gm

参见 regex demo

详情

  • ^ - 行首
  • (?:^\*[^*\n].*(?:[\r\n]+|$))+ - 1 个或多个序列:
    • \* - * 字符
    • [^*\n] - LF 和 *
    • 以外的字符
    • .* - 除换行字符外的任何 0+ 个字符,尽可能多
    • (?:[\r\n]+|$) - 1+ LF 或 CR 符号或行尾(以匹配最后一行)。

关于javascript - 将整个列表捕获为一个项目的正则表达式-javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48996300/

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