gpt4 book ai didi

javascript - 正则表达式过滤掉某些字符组

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

我正在尝试构建一个遍历字符串并返回不属于标记代码的匹配项的正则表达式。

到目前为止尝试了不同的事情,但一旦标记为 {{ }},它就会忽略 {{}},但会返回括号内的单词。

(\w+(?<!{{.}}))

示例文本:

apa {{abc}} banan apple {{def}} citrus apelsin {{ghi}} mango korsbar

我希望它返回以下 4 个匹配的组:

apa
banan apple
citrus apelsin
mango korsbar

如果以上方法不可行,则以下 7 个匹配组也可以:

apa
banan
apple
citrus
apelsin
mango
korsbar

有点像用 html 替换标记,但不是替换,而是提取除标记之外的所有内容。

(标记代码当然可以更改,因此它需要使用 {{something}} 删除任何内容)

最佳答案

字符串可以被 {{.*?}} 正则表达式分割。这将获取数组中除两个大括号中的字符串之外的字符串。

正则表达式是惰性的,所以它会在第一次出现 }} 时停止。

str.split(/{{.*?}}/)

var str = 'apa {{abc}} banan apple {{def}} citrus apelsin {{ghi}} mango korsbar';

var arr = str.split(/{{.*?}}/);
console.log(arr);

要删除字符串周围的空格,请使用正则表达式

\s*{{.*?}}\s*

\s* 将匹配 括号内的字符串 周围的零个或多个空格并将其删除。

var str = 'apa {{abc}} banan apple {{def}} citrus apelsin {{ghi}} mango korsbar';

var arr = str.split(/\s*{{.*?}}\s*/);
console.log(arr);

关于javascript - 正则表达式过滤掉某些字符组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40127708/

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