I am trying to create a Javascript function that would find all positions for a set of patterns inside a UTF-8 string. For example:
I have a string "detaj" (it's a transcription written with International Phonetic Alphabet symbols, so I need a full UTF-8 support).
And I have an array of patterns: ["(?!dʒ)d", "(?!tʃ)t"] (each string is also UTF-8 encoded).
I need to find the position of each pattern and obtain the following array:
[0] => [0, "(?!dʒ)d"],
[1] => [2, "(?!tʃ)t"]
0 - is the position of the symbol "d", 2 - is the position of the symbol "t".
I started with this function: https://stackoverflow.com/a/3410557/2006215
var str = "I learned to play the Ukulele in Lebanon."
var regex = /le/gi, result, indices = [];
while ( (result = regex.exec(str)) ) {
    indices.push(result.index);
}
And I changed it to something like this:
function getAllIndicesOfArrayOfStringInsideStringRegex (sounds_regex_array, word_transcription) {
    var allIndices = [];
    for (var i = 0; i < sounds_regex_array.length; i++) {
        var currentSoundRegex = sounds_regex_array[i];
        // straightforward approach doesn't work:
        //var pattern = new RegExp(currentSoundRegex, "g"); 
        // hexEncode is taken from here - https://stackoverflow.com/a/21648161/2006215 - doesn't work:
        //var pattern = new RegExp(currentSoundRegex.hexEncode, "g"); 
        // I'm trying to use utf8.js plugin from here - https://github.com/mathiasbynens/utf8.js - doesn't work:
        var pattern = new RegExp(utf8.encode(currentSoundRegex), "g"); 
        var indices = getIndicesOfRegex (pattern, word_transcription);
        for (var j = 0; j < indices.length; j++) {
            allIndices.push([indices[j], currentSoundRegex ]);
        }
    }
    return allIndices;
}
function getIndicesOfRegex (regex, str) {
    var result, indices = [];
    while (result = regex.exec(str)) {
        indices.push(result.index);
    }
    return indices;
}
Anybody has any ideas?
UPDATE: I take both the transcription and the regex patterns from json file that I generate with PHP from UTF-8 strings. I am not sure how to call this, but it's not UTF-8. In any case it doesn't work with my Javascript function.
var questions = [{"word":"sorte","word_transcription":"s\u0254\u0281t","sounds_array":["d","t"],"sounds_regex_array":["(?!d\u0292)d","(?!t\u0283)t"]}];
