gpt4 book ai didi

javascript - 捕获一组两个特殊字符之间的所有内容,但允许该字符在 body 中出现一次

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

我想捕获 ## 组之间的所有内容。在下面的文本“this is the ##example## I am ##currently## testing on”中,我想获得以下匹配项:example当前。我将其缩小到这条规则:/##([^\#]+)##/g。该规则有两个缺点:

  1. 它返回“自定义边界”(即##example##,而不是example)和
  2. 当“匹配”中只有一个 # 时,它不起作用(即 ##ex#ample##)。

我需要更改什么才能使其按预期工作?

最佳答案

只需匹配标记之间的任意字符,并通过在量词+后添加?使其成为非贪婪的:

/##(.+?)##/g

匹配的结果是第一个项目中的整个匹配,然后是所有匹配的组。由于模式中有一组,因此索引 1 处的标记之间会有内容,即 match[1]

var text = "this is the ##exa#mple## I am ##currently## testing on";
var re = /##(.+?)##/g;
var match;
while ((match = re.exec(text)) != null) {
// show match in the Stackoverflow snippet
document.write(match[1] + '<br>');
}

注意:模式中的 . 匹配任何非换行符。您也可以使用 [\W\w] 来允许换行。

关于javascript - 捕获一组两个特殊字符之间的所有内容,但允许该字符在 body 中出现一次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26990226/

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