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 exec3. 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
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); // 贰零壹柒壹零零壹
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!