文字列を切り分けて検索をする

function find(reg, data) {
    var tmp = reg.exec(data);
    if (tmp == null) return null;
    var start = data.lastIndexOf("\n", tmp.index) + 1;
    var end   = data.indexOf("\n", start);
    var r = data.slice(start, end);
    reg.lastIndex = end + 1;
    return r;
}

function serch(data, word) {
    var reg = new RegExp(word, "igm");    
    var result = [];
    for ( ; ; ) {
	var r = find(reg, data);
	if (r == null) break;
	result.push(r);
    }
    alert(result.join("\n"));
}

var data = "ssb12sacsma\nssbfbbbfb\nccc422c21cc\ndda81dcigdbmd\n";
serch(data, "ssb");