gpt4 book ai didi

javascript - 正则表达式匹配两行

转载 作者:行者123 更新时间:2023-11-29 18:50:33 25 4
gpt4 key购买 nike

我正在尝试为动态字符串 block 创建一个正则表达式。我收到的动态数据格式如下:

[Begin] some text goes here.\r\n[Begin] {\r\n[Begin] stage\r\n[Begin] { (dynamicName1)\r\nRandom text here\r\nRandom line2 text\r\nAnd still keeps going\r\n[Begin] }\r\n[Begin] stage\r\n[Begin] { (dynamicName2)\r\nStage dynamicName2 skipped\r\n[Begin] }\r\n

希望提取模式之间的字符串,如下所示:

[Begin] { (dynamicName1)\r\n/*trying to extract this data\r\n//which is available here*/\r\n[Begin] }

我使用的模式只完成了一半的工作,但结果并不精确。我的结果也有我需要跳过的 dynamicName1) 行。尝试使用这些模式

Pattern 1 - /\[Begin\]\s*{\s*\((\w+(?=\))[\S\s]*?)\[Begin\]\s*}/g
Pattern 2 - /\[Begin\]\s*{\s*\(([\S\s]*?)\[Begin\]\s*}/g

我错过了什么吗?

最佳答案

您可以使用捕获组和 anchor :

^\[Begin\]\s+\{\s+\([^()]*\)\s+([\s\S]+?)^\[Begin\][ \t]+}

详细地说:

^\[Begin\]            # [Begin] at the beginning of a line
\s+\{\s+\([^()]*\)\s+ # require { and ()
([\s\S]+?) # capture anything including newlines lazily
^\[Begin\]\s+} # up to [Begin] }

参见 a demo on regex101.com (注意 multiline 模式)。

关于javascript - 正则表达式匹配两行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51425960/

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