Javascript 正则表达式,用于查找集合或范围中的所有字母是否存在于字符串中的任何位置

Javascript 正则表达式,用于查找集合或范围中的所有字母是否存在于字符串中的任何位置,javascript,regex,Javascript,Regex,我正在用JavaScript编写一个正则表达式,以确定“abt”中的每个字母是否在字符串中的任何位置都可用 console.log(/(?=.*a)(?=.*t)(?=.*b)/i.test("at good and bad")); 如果我有更多的字符要识别,我必须使这个正则表达式变长。 有人能建议我如何优化这个吗 如果我必须匹配a-z这样的特定范围,我应该做什么?如果我了解您要做什么,我认为以下几点应该有效: (.?[a]{1,}.?)|(.?[b]{1,}.?)|(.?[t]{1,}.?

我正在用JavaScript编写一个正则表达式,以确定“abt”中的每个字母是否在字符串中的任何位置都可用

 console.log(/(?=.*a)(?=.*t)(?=.*b)/i.test("at good and bad"));
如果我有更多的字符要识别,我必须使这个正则表达式变长。 有人能建议我如何优化这个吗


如果我必须匹配a-z这样的特定范围,我应该做什么?

如果我了解您要做什么,我认为以下几点应该有效:

(.?[a]{1,}.?)|(.?[b]{1,}.?)|(.?[t]{1,}.?)
这将匹配在字符串中任何单词的任何位置包含这些字母的任何字符串。如果你必须做范围,比如说,a-c,把[a]改为[a-c],这仍然有效。这是区分大小写的,因此如果您希望以不区分大小写的方式进行检查,则应为[a-cA-C]或[aA]


在regex101.com测试工作

订单重要吗?bta?没有顺序不重要[/a/,/b/,/c/]。everychr=>chr.testinput?如果我必须匹配像a-f这样的范围,我应该怎么做?然后只写chrRange'a',f'。everychr=>input.includeschr。你得自己写。