Maison  >  Article  >  interface Web  >  Explication détaillée de l'utilisation des expressions régulières dans Remplacer

Explication détaillée de l'utilisation des expressions régulières dans Remplacer

php中世界最好的语言
php中世界最好的语言original
2018-03-29 11:20:501849parcourir

Cette fois je vais vous apporter une explication détaillée de l'utilisation des expressions régulières dans Replace, et quelles sont les précautions d'utilisation des expressions régulières dans Replace. Voici des cas pratiques, jetons un coup d'oeil une fois.

remplacer : Remplacer les caractères d'origine par de nouveaux caractères

1. remplacer le remplacement de chaîne

var str = 'pku2016pku2017';
str = str.replace('pku', 'pkusoft');
console.log(str); // pkusoft2016pku2017

sans utiliser d'expressions régulières, à chaque fois L'exécution ne peut remplacer qu'un seul caractère chacun. l'exécution commence à 0. Il y a des doublons et ne peut pas tous remplacer

2. Le remplacement régulier de replace

str = str.replace(/pku/g, 'pkusoft'); // 使用正则的全局匹配
console.log(str); // pkusoftsoft2016pkusoft2017

est d'abord capturé avec exec De la même manière, nous capturons tout ce qui correspond à notre modèle régulier, puis remplacez le contenu capturé par le nouveau contenu que nous devons remplacer.
/pku/g suit cette règle habituelle pour capturer tous les éléments correspondants dans str, puis les remplacer tous par 'pkusoft'
remplacez le deuxième paramètre s'il s'agit d'une fonction

1. >Le nombre de fois où la fonction anonyme est exécutée dépend du nombre de fois où l'expression régulière peut être capturée dans la chaîne

2 Chaque fois que la fonction anonyme est exécutée, la valeur des arguments est très similaire à la valeur des arguments. contenu capturé via exec

3. La valeur de retour est le contenu qui doit être remplacé

str = str.replace(/pku/g, function () {
 console.log(arguments);
 // 第一次执行: ["pku", 0, "pku2016pku2017"]
 // 第一次执行: ["pku", 7, "pku2016pku2017"]
 // 返回的数组和执行exec返回的结果一致
 return 'pkusoft';
});
console.log(str); // pkusoftsoft2016pkusoft2017
Capture de groupe de remplacement

str = str.replace(/(\d+)/g, function () {
 // console.log(arguments);
 // 第一次执行: ["2016", "2016", 7, "pkusoft2016pkusoft2017"]
 // 第一次执行: ["2017", "2017", 18, "pkusoft2016pkusoft2017"]
 // 返回的数组和执行exec返回的结果一致
return '0000';
});
console.log(str); // pkusoft0000pkusoft0000
Application de remplacement

var str = '20171001';
var arr = ["零","壹","贰","叁","肆","伍","陆","柒","捌","玖"];
str = str.replace(/\d/g,function () {
 var num = arguments[0]; // 把捕获的内容,作为数组的下标
 return arr[num];
});
console.log(str); // 贰零壹柒壹零零壹

Je pense que vous maîtrisez la méthode après avoir lu le cas dans cet article. Pour des informations plus intéressantes, veuillez prêter attention aux autres articles connexes sur le php chinois. site web!

Lecture recommandée :

La relation entre lastIndex et les expressions régulières

Annotations de correspondance régulières en js

Explication détaillée de l'utilisation des métacaractères D (équivalents à "[^0-9]") des expressions régulières

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn