Dieses Mal erkläre ich Ihnen ausführlich die Verwendung von regulären Ausdrücken in Ersetzen und welche Vorsichtsmaßnahmen bei der Verwendung regulärer Ausdrücke in Ersetzen gelten. Hier sind praktische Fälle schau doch einmal vorbei.
ersetzen: Ersetzen Sie die ursprünglichen Zeichen durch neue Zeichen
1. Ersetzen Sie die Zeichenfolge
var str = 'pku2016pku2017'; str = str.replace('pku', 'pkusoft'); console.log(str); // pkusoft2016pku2017
, ohne reguläre Ausdrücke zu verwenden. Die Ausführung kann jeweils nur ein Zeichen ersetzen Die Ausführung beginnt bei 0. Es gibt Duplikate und kann nicht alle ersetzen
2. Die reguläre Ersetzung von replace
str = str.replace(/pku/g, 'pkusoft'); // 使用正则的全局匹配 console.log(str); // pkusoftsoft2016pkusoft2017
wird zuerst mit exec erfasst. Auf die gleiche Weise erfassen wir alles, was mit unserem übereinstimmt Wir erstellen ein reguläres Muster und ersetzen dann den erfassten Inhalt durch den neuen Inhalt, den wir ersetzen müssen.
/pku/g folgt dieser regulären Regel, um alle übereinstimmenden Elemente in str zu erfassen und sie dann alle durch „pkusoft“ zu ersetzen.
ersetzt den zweiten Parameter, wenn es sich um eine Funktion handelt
1 >Wie oft die anonyme Funktion ausgeführt wird, hängt davon ab, wie oft der reguläre Ausdruck in der Zeichenfolge erfasst werden kann
2 Bei jeder Ausführung der anonymen Funktion ist der Argumentwert dem sehr ähnlich Durch exec erfasster Inhalt3. Der Rückgabewert ist der Inhalt, der ersetzt werden mussstr = str.replace(/pku/g, function () { console.log(arguments); // 第一次执行: ["pku", 0, "pku2016pku2017"] // 第一次执行: ["pku", 7, "pku2016pku2017"] // 返回的数组和执行exec返回的结果一致 return 'pkusoft'; }); console.log(str); // pkusoftsoft2016pkusoft2017
str = str.replace(/(\d+)/g, function () { // console.log(arguments); // 第一次执行: ["2016", "2016", 7, "pkusoft2016pkusoft2017"] // 第一次执行: ["2017", "2017", 18, "pkusoft2016pkusoft2017"] // 返回的数组和执行exec返回的结果一致 return '0000'; }); console.log(str); // pkusoft0000pkusoft0000
var str = '20171001'; var arr = ["零","壹","贰","叁","肆","伍","陆","柒","捌","玖"]; str = str.replace(/\d/g,function () { var num = arguments[0]; // 把捕获的内容,作为数组的下标 return arr[num]; }); console.log(str); // 贰零壹柒壹零零壹
Ich glaube, dass Sie die Methode beherrschen, nachdem Sie den Fall in diesem Artikel gelesen haben. Weitere spannende Informationen finden Sie in anderen verwandten Artikeln zum PHP-Chinesen Webseite! Empfohlene Lektüre:
Die Beziehung zwischen lastIndex und regulären Ausdrücken
Reguläre passende Annotationen in js
Detaillierte Erläuterung der Verwendung von D-Metazeichen (entspricht „[^0-9]“) regulärer Ausdrücke
Das obige ist der detaillierte Inhalt vonAusführliche Erläuterung der Verwendung regulärer Ausdrücke in Ersetzen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!