/ / Que sont les limites de mots dans les expressions rationnelles (B), par rapport aux limites de mots? - javascript, regex, limite de mot, limite, limite de mot

Que sont les limites de mots dans la regex (B), par rapport aux limites de mots? - javascript, regex, limite de mot, limite, limite de mot

Que sont les limites de mots dans la regex (B), par rapport aux limites de mots?

Réponses:

66 pour la réponse № 1

Une limite de mots (b) est une correspondance de largeur zéro qui peut correspondre à:

  • Entre un caractère de mot (w) et un caractère autre que le mot (W) ou
  • Entre un caractère de mot et le début ou la fin de la chaîne.

En Javascript la définition de w est [A-Za-z0-9_] et W y a rien d'autre.

La version annulée de b, écrit B, est une correspondance de largeur zéro où ce qui précède ne ne pas tenir. Par conséquent, il peut correspondre à:

  • Entre deux mots
  • Entre deux caractères autres que des mots.
  • Entre un caractère autre qu'un mot et le début ou la fin de la chaîne.
  • La chaîne vide.

Par exemple si la chaîne est "Hello, world!" puis b matchs dans les endroits suivants:

 H e l l o ,   w o r l d !
^         ^   ^         ^

Et B correspond à ces endroits où b ne correspond pas:

 H e l l o ,   w o r l d !
^ ^ ^ ^   ^   ^ ^ ^ ^   ^

2 pour la réponse № 2

Le but fondamental de non-word-boundary est de créer une expression rationnelle qui dit:

  • si nous sommes au début / à la fin d'un word char (w = [a-zA-Z0-9_]) assurez-vous que le caractère précédent / suivant est aussi un word char,

    par exemple.: "aB." ~ "aw":

    "ab", "a4", "a_", ... mais non "a ", "a."

  • si nous sommes au début / à la fin d'un non-word char (W = [^a-zA-Z0-9_]) assurez-vous que le caractère précédent / suivant est aussi un non-word char,

    par exemple.: "-B." ~ "-W":

    "-.", "- ", "--", ... mais non "-a", "-1"

Pour word-boundary il est similaire mais au lieu de s’assurer que les caractères adjacents sont de la même classe (word char/non-word car) ils doivent différer, d'où le nom word"s boundary.