gpt4 book ai didi

javascript - 有两个可能的组,我如何引用不匹配的组?

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

例如:

我要匹配这个

##A##B##A##
##B##A##B##

但这些都不是

##A##A##A##
##A##A##B##
##A##B##B##
##B##A##A##
##B##B##A##
##B##B##B##

并且不使用这个:##A##B##A##|##B​​##A##B##


我的方法是 ##((A)|(B))##?##\1##,但不知道要在那个 中放什么?

我不太清楚怎么问这个问题,但如果你有更好的东西,我会编辑它。

最佳答案

您可以像这样使用否定前瞻(?!...):

/##(A|B)##(?!\1)[AB]##\1##/

解释:

##     : litteral "##"
(A|B) : litteral "A" or "B" grouped as \1
## : litteral "##"
(?!\1) : not \1 (doesn't consume from the input string so we need the following [AB])
[AB] : litteral "A" or "B" (set)
## : litteral "##"
\1 : the result of the group \1
## : litteral "##"

示例:

var tests = ["##A##B##A##","##B##A##B##","##A##A##A##","##A##A##B##","##A##B##B##","##B##A##A##","##B##B##A##","##B##B##B##"];

var regex = /##(A|B)##(?!\1)[AB]##\1##/;
tests.forEach(function(test) {
console.log(test, " => ", regex.test(test));
});

关于javascript - 有两个可能的组,我如何引用不匹配的组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43219407/

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