sovsem-nub,
тоже самое, может так проще будет понять ...
var text1="мама мыла раму [[совсем другую раму]] папу",
text2="раму вертолет",
text3="другую",
text4="[[совсем другую раму]]";
function foo(a, b) {
var c = /[^\[\]\s]+|(\[\[[\s\S]*?\]\])/g;
a = a.match(c) || [];
b = b.match(c) || [];
for (var i = 0; i < a.length; i++) {
for (var k = 0; k < b.length; k++) {
if (a[i] == b[k]) return true
}
}
return false
};
alert(foo(text1,text2)); //true
alert(foo(text1,text3)); //false
alert(foo(text2,text3)); //false
alert(foo(text1,text4)); //true