with - JavaScript-Variable in String-Übereinstimmung verwenden




url match (4)

Ich fand einige ähnliche Fragen, aber es half mir nicht ... also habe ich dieses Problem:

var xxx = "victoria";
var yyy = "i";
alert(xxx.match(yyy/g).length);

Ich weiß nicht, wie man Variable im Match-Befehl übergibt. Bitte helfen Sie. Vielen Dank.

https://code.i-harness.com


Beispielsweise:

let myString = "Hello World"
let myMatch = myString.match(/H.*/)
console.log(myMatch)

Oder

let myString = "Hello World"
let myVariable = "H"
let myReg = new RegExp(myVariable + ".*")
let myMatch = myString.match(myReg)
console.log(myMatch)

Obwohl die Vergleichsfunktion String-Literale nicht als Regex-Muster akzeptiert, können Sie den Konstruktor des RegExp-Objekts verwenden und dieses an die Funktion String.match übergeben:

var re = new RegExp(yyy, 'g');
xxx.match(re);

Alle benötigten Flags (wie zB / g) können in den zweiten Parameter gehen.


für mich jedenfalls, es hilft, es gebraucht zu sehen. habe das einfach mit dem "re" -Beispiel gemacht:

var analyte_data = 'sample-'+sample_id;
var storage_keys = $.jStorage.index();
var re = new RegExp( analyte_data,'g');  
for(i=0;i<storage_keys.length;i++) { 
    if(storage_keys[i].match(re)) {
        console.log(storage_keys[i]);
        var partnum = storage_keys[i].split('-')[2];
    }
}

Beispiel. Um die Anzahl der Vokale innerhalb der Zeichenfolge zu finden

var word='Web Development Tutorial';
var vowels='[aeiou]'; 
var re = new RegExp(vowels, 'gi');
var arr = word.match(re);
document.write(arr.length);




match