我正在这里寻找正则表达式。我有部分解决方案,但必须完成。我在这里寻找葬礼B
,但我想寻找[A-Z]
并在相应的地方使用反向引用:
我尝试过的事情
^[^B]*(B)(?!(?:[^B]*B){3})
查找第一个'B'(如果出现1-3次)。
regex101
B
0-n次B
B
,则不匹配应该是什么
我正在寻找的不仅仅是匹配B
,而是匹配[A-Z]
-如果我尝试^[^\1]*([A-Z])(?!(?:[^\1]*\1){3})
(将匹配的B
与[A-Z]
替换并反向引用) )
问题解决
这里的问题。 [^\1]
似乎不起作用。
我需要否定反向引用并对其进行量化。它不想做的两件事:D
所需结果(示例)
AAA
结果[A]
,因为A
是[A-Z]
,并且在字符串中不超过3次
AABB
结果[A,B]
是因为A
和B
不超过3次
ABAB
与AABB
123AABBAA
的结果[B]
是因为[A-Z]
且不超过3次
编辑
可能有用的方法:(?:(?<=(?!\1)))*
代替[^\1]*
regex101
种类繁多的作品在A
上返回(A)AA
,在AAAA
上没有匹配项,但不会匹配BAAA
(应该返回[a,b]
)