/ / Cosa sono i limiti di parole diverse nella regex (B), rispetto al confine di parole? - javascript, regex, word-boundary, boundary, word-boundaries

Che cosa sono i limiti di parole diverse nella regex (B), rispetto al confine delle parole? - javascript, regex, word-boundary, boundary, word-boundaries

Che cosa sono i limiti di parole diverse nella regex (B), rispetto al confine delle parole?

risposte:

66 per risposta № 1

Un limite di parole (b) è una corrispondenza di larghezza zero che può corrispondere:

  • Tra un carattere di parole (w) e un carattere non verbale (W) o
  • Tra un carattere di parola e l'inizio o la fine della stringa.

In Javascript la definizione di w è [A-Za-z0-9_] e W è tutto il resto

La versione negata di b, scritto B, è una corrispondenza di larghezza zero in cui si trova quanto sopra non tenere. Pertanto può corrispondere:

  • Tra due caratteri di parole.
  • Tra due caratteri non di parole.
  • Tra un carattere non di parole e l'inizio o la fine della stringa.
  • La stringa vuota.

Ad esempio se la stringa è "Hello, world!" poi b partite nei seguenti posti:

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

E B corrisponde a quei luoghi dove b non corrisponde:

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

2 per risposta № 2

Lo scopo di base di non-word-boundary è quello di creare una regex che dice:

  • se siamo all'inizio / alla fine di a word char (w = [a-zA-Z0-9_]) assicurati che anche il carattere precedente / successivo sia a word char,

    per esempio.: "aB." ~ "aw":

    "ab", "a4", "a_", ... ma no "a ", "a."

  • se siamo all'inizio / alla fine di a non-word char (W = [^a-zA-Z0-9_]) assicurati che anche il carattere precedente / successivo sia a non-word char,

    per esempio.: "-B." ~ "-W":

    "-.", "- ", "--", ... ma no "-a", "-1"

Per word-boundary è simile ma invece di assicurarsi che i personaggi adiacenti siano della stessa classe (word char/non-word car) hanno bisogno di differire, da qui il nome word"s boundary.