gpt4 book ai didi

javascript - 正则表达式 : matching specific character within a context

转载 作者:行者123 更新时间:2023-12-02 21:24:11 24 4
gpt4 key购买 nike

这是一个测试字符串:

    something { some words };

我需要匹配 JavaScript 中“{”和“}”字符之间的所有空格(以便稍后删除,即使用“str.replace()”函数将它们替换为空字符)。在这个例子中,我应该匹配 3 个空格(一个在“some”之前,一个在“some 和“words”之间,一个在“words”之后)。我研究了几个类似的问题以及前瞻和后瞻组,但我不知道如何实现。

你能帮我吗?

到目前为止,我只能匹配第一个空格字符:https://regex101.com/r/2KW646/2

编辑:我使用的浏览器支持向前查找和向后查找。

删除匹配的空格后,输出应该是:

    something {somewords};

最佳答案

您可以不使用正则表达式来完成此操作:

const Fn = s => {
let r = '', skip_space;
for (let c of s) {
if (c === '{') skip_space = !0;
else if (c === '}') skip_space = !1;
if (c !== ' ' || !skip_space) r += c;
}
return r;
}

console.log(Fn('something { some words };'))

或者使用简单的替换:

const Fn = s => s.replace(
/([^{]+)({[^}]+})/,
(_, m1, m2) => m1 + m2.replace(/\s+/g, '')
);

console.log(Fn('something { some words };'))

关于javascript - 正则表达式 : matching specific character within a context,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60779539/

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