gpt4 book ai didi

javascript - 正则表达式查找不在两个其他字符之间出现的所有字符

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

我正在寻找一个正则表达式(我可以在Javascript中实现,所以没有后向查找),它将匹配一个字符的所有出现,只要它不出现在两个其他字符之间。例如,我想匹配所有连字符,只要它们不在加号之间即可。

----- // should match.
+---+ // should not match
---+---+--- // should only match the first 3 and last 3 characters.

我已经尝试调整 this post 中使用的方法像这样:

[-]+(?![^+]*\+)+

但它不符合预期。任何帮助是极大的赞赏。

附注专门寻找REGEX解决方案。我意识到这可能不是最佳解决方案,但我特别想提高我对正则表达式的了解。

最佳答案

如果分隔符(在您的情况下是+)总是成对出现,您可以使用:

var str = 'a-b-+-c-+-d-e'; // delimter is +
matches = str.match(/-(?=([^+]*\+[^+]*\+)*[^+]*$)/g, '');
console.log(matches); // 4 matches of `-`

这与后面有偶数个加号(可能为零)的每个连字符相匹配。

关于javascript - 正则表达式查找不在两个其他字符之间出现的所有字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40615257/

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