2013-07-25 21 views

Antwort

3

Ganz einfach

string.replace(/v\/.+\?/, "v/replace"); 

Wenn der erste Teil nicht bekannt ist, können Sie es erfassen und ersetzen:

string.replace(/(v\/).+\?/, "$1replace"); 

Offensichtlich im zweiten Beispiel ist es bekannt, da v/ konstant ist. Sie würden es möglicherweise mit wie etwas ersetzen /^(.*?/).+\?/

5

Versuchen folgenden Code:

> '/v/dkdkd-akdoa?'.replace(/(v\/).+\?/, '$1replace') 
"/v/replace" 

Wenn Sie ? wollen halten:

> '/v/dkdkd-akdoa?'.replace(/(v\/).+(?=\?)/, '$1replace') 
"/v/replace?" 

$1 Referenz die erste Gruppe ((v\/))

1

Sie können es brechen so das Präfix und Suffix ihre eigenen passenden Gruppen sind und sie in dem ersetzten Wert:

string.replace(/(v\/)(.+)(\?)/, "$1replace$3"); 

Oder einfacher behandeln Sie Ihr Muster, das Sie ersetzen als nicht übereinstimmende Gruppe:

string.replace(/(v\/).+(\?)/, "$1replace$2") 
Verwandte Themen