Reguläre Ausdrücke sind notorisch nicht lesbar. Sie mögen keine zusätzlichen Leerzeichen und haben keine Kommentare. Ihre einzige mögliche Lösung besteht darin, eine Zeichenkette zu konstruieren und diese in einen regulären Ausdruck umzuwandeln.
Hier sind die Schritte, die ich ging RegExp
Trog
Ziel Regular Expression
var regex=/:\/{0,3}(www\.)?([0-9.\-A-Za-z]{1,253})([\x00-\x7F]{1,2000})$/;
Verwenden Sie den Ausdruck aus einem String zu erstellen.
var parse_url = RegExp(':/{0,3}(www\\.)?([0-9.\\-A-Za-z]{1,253})([\\x00-\\x7F]{1,2000})$');
Denken Sie daran:
- die
/
Trennzeichen am Anfang und am Ende des Ausdrucks sind nicht da - sie wörtlichen
- die
\
Zeichen in der Zeichenfolge nur in einem RegEx sind verdoppelt , weil die Zeichenkette eine eigene Interpretation von ihnen hat
Brechen Sie die Zeichenfolge auf, indem Siehinzufügenals strategische Punkte:
var parse_url = RegExp(':/{0,3}(www\\.)?'+'([0-9.\\-A-Za-z]{1,253})'+'([\\x00-\\x7F]{1,2000})$');
var parse_url = RegExp(':/{0,3}(www\\.)?'+
'([0-9.\\-A-Za-z]{1,253})'+
'([\\x00-\\x7F]{1,2000})$');
Es ist keine sehr gute Lösung, aber das ist alles, was Sie mit einem regulären Ausdruck tun können.
Modernes JavaScript unterstützt mehrzeilige Zeichenfolgen in Form von Vorlagenliteralen, aber das wird hier wahrscheinlich nicht viel helfen.
Sind die Erfassungsgruppen nützlich? Müssen Sie etwas erfassen? –
Ich mache ... Ich brauche die Domain ... nur die Domain ... es ist gerade ein Durcheinander ... Ich sollte wahrscheinlich löschen und neu anfangen. –
Welche Sprache verwenden Sie? Die meisten Sprachen haben kleine libs, um das richtig zu handhaben;) –