La limite du mot ne correspondra pas au début ou à la fin en javascript
-
14-11-2019 - |
Question
J'obtiens des résultats inattendus avec ce code:
'foo'.match(new RegExp('\bfoo\b')); // Returns null
Pourquoi est-ce de retour null
Alors que celui-ci renvoie "foo"?
'foo'.match(new RegExp('foo')); // Returns "foo"
Un marqueur de limite de mot ne correspond-il pas non plus au début et à la fin?
EDIT: J'ai besoin que l'expression régulière elle-même soit une chaîne car j'y injecte des variables.
La solution
Échapper aux barreaux de barre
'foo'.match(new RegExp('\\bfoo\\b'));
Autres conseils
Ne l'enveloppez pas en citations ... Au lieu de cela, faites ceci: -
'foo'.match(new RegExp(/\bfoo\b/))
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow