gpt4 book ai didi

javascript - 匹配单个字符但不匹配多个

转载 作者:行者123 更新时间:2023-12-03 01:51:59 25 4
gpt4 key购买 nike

我有一个像这样的正则表达式:

/(?!xx)x.+?(?!xx)x/g

我测试了三个示例字符串。我用 ^ 标记了预期的匹配。

期望:

应匹配0-5:

x...x
^^^^^

不应匹配

xx...xx

应匹配2-7:

xxx...xxx
^^^^^

应匹配3-8:

xxxx...xxxx
^^^^^

我的问题:

我还没有找到一种在不匹配 xx 的情况下匹配 x 的方法,而且我已经没有办法尝试了。请帮我。这是当前结果:https://regex101.com/r/OqSMuO/5

提前谢谢您!

最佳答案

我认为这符合您的意图。

^(?:(x[^x]{3}x)|x{2,}(x[^x]{3}x)x{2,})$

它被分成两部分,或运算在一起:

(x[^x]{3}x) 完全匹配 x...x

x{2,}(x[^x]{3}x)x{2,} 匹配 xxx...xxx 但不匹配 xx...xx

注意:这对于不平衡的匹配没有帮助。例如。例如 (xxx...xxxx) 仍会匹配正则表达式。但是,据我所知,仅使用正则表达式无法解决该问题。您需要一个堆栈来执行此操作。

关于javascript - 匹配单个字符但不匹配多个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50378996/

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