gpt4 book ai didi

javascript - 不匹配特定大小写的正则表达式

转载 作者:行者123 更新时间:2023-11-29 10:14:57 24 4
gpt4 key购买 nike

我正在寻找一个正则表达式(在 JS 中,但我认为这不重要)它匹配某个字符串的所有大写/小写可能性,但只有一个。

示例:让我的字符串为“aBc”。那么我的正则表达式应该像下面这样匹配

var regex=/ABC|ABc|AbC|Abc|aBC|abC|abc/g;

在这种情况下,可以将其拼写出来,但通常具有 n 个单词字符的字符串允许匹配 2^n-1 个字符串。对于大 n,这不再是很好的缩放。因此,我寻找另一种方式。

编辑:因为你们中的许多人似乎不明白我的意思:正则表达式不能匹配“aBc”。所以它类似于/abc/i 而不是/aBc/。

为简单起见,您可以在此处检查您的表达式是否执行了它应该执行的操作:http://regex101.com/r/kP5aX2

您的正则表达式应该与我的完全匹配。

最佳答案

尝试

var regex = /(?!aBc)[a-cA-C]{3}/g;

(?!aBc) 是所谓的负前瞻,它应该可以达到您想要的效果..

更新:

引用评论...

var regex = /((?![a-zA-Z]*aBc[a-zA-Z]*)[a-zA-Z]*[aA][bB][cC][a-zA-Z]*)/g;

更新 2

如果你不想匹配整个单词,而只想匹配三个字符的字符串,你应该这样做

var regex = /(?!aBc)[aA][bB][cC]/g; 

参见 http://regex101.com/r/jQ3hS8

关于javascript - 不匹配特定大小写的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24285294/

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