"AND" 在 Javascript 正则表达式中......我错过了什么?

"AND" in Javascript regex... what am I missing?

我正在研究一个正则表达式,如果匹配的词以任何顺序出现,它会 return 为真。

这种方法(在这里讨论:Regular Expressions: Is there an AND operator?

(?=.*tag1)(?=.*tag2)

在 Ruby 中匹配 tag1 tag2tag2 tag1 (http://rubular.com/r/374706hkft),但 在 [=] 中不起作用 35=]。有什么想法吗?

编辑:"Does not work in JS" 我的意思是

"tag1 tag2".match(/(?=.*tag1)(?=.*tag2)/) 

returns [""].

这个问题的答案指出正则表达式以

的格式工作
/(?=.*tag1)(?=.*tag2)/.test("tag1 tag2")

正则表达式在 JavaScript 中工作正常:

function check(s) {
    var found = /(?=.*tag1)(?=.*tag2)/.test(s);
    document.write(found + '<br>');
}

check('xxtag1xxxtag2xxxx'); // both found: true
check('xxtag2xxxtag1xxxx'); // both found: true
check('xxtag2xxxtag0xxxx'); // only one found: false