Javascript: regex pour remplacer les mots dans le texte et non dans les mots
J'ai besoin de regex pour remplacer des mots à l'intérieur du texte et ne fait pas partie des mots.
Mon code que remplacer " de " aussi quand il fait partie de la parole:
str="de degree deep de";
output=str.replace(new RegExp('de','g'),'');
output==" gree ep "
De sortie que j'ai besoin de: " degree deep "
Ce qui devrait être regex pour obtenir un rendement correct?
source d'informationauteur Yosef
Vous devez vous connecter pour publier un commentaire.
Noter que
et
sont la même chose.
La
\b
désigne un "mot". Un mot est défini comme une situation où un mot personnage suit un non-mot caractère, ou vice versa. Un caractère de mot est défini comme[a-zA-Z0-9_]
en JavaScript.De début de chaîne et de fin de chaîne positions peuvent être les limites des mots, tant qu'ils sont précédées ou suivies par un mot de caractères, respectivement.
Être conscient que la notion de caractère de mot ne fonctionne pas très bien en dehors du domaine de la langue anglaise.
Vous pouvez utiliser le reg ex
\bde\b
.Vous pouvez trouver un exemple de travail ici.
La regex caractère
\b
agir comme un séparateur de mots. Vous pouvez trouver plus de ici.Vous devez joindre à votre recherche de caractères entre
\b
:Vous pouvez utiliser un mot comme Arun & Tomalak note.
/\bde\b/g
ou vous pouvez utiliser un espace
/de\s/g
http://www.regular-expressions.info/charclass.html