web-dev-qa-db-fra.com

Les soignants dans les expressions régulières

Plus précisément, quand ^ signifie "match start" et quand cela signifie-t-il "not the following" dans les expressions régulières?

D'après l'article de Wikipédia et d'autres références, j'ai conclu que cela signifie le premier au début et le dernier lorsqu'il est utilisé avec des crochets, mais comment le programme gère-t-il le cas où le curseur est au début et au niveau d'un crochet? Qu'est-ce que, par exemple, ^[b-d]t$ rencontre?

37

^ Signifie seulement "pas le suivant" à l'intérieur et au début de [], Donc [^...].

Quand il est à l'intérieur de [] Mais pas au début, cela signifie le caractère réel ^.

Lorsqu'il est échappé (\^), Cela signifie également le caractère réel ^.

Dans tous les autres cas, cela signifie le début de la chaîne/ligne (laquelle dépend de la langue/du paramètre).

Bref:

  • [^abc] -> pas a, b ou c
  • [ab^cd] -> a, b, ^ (caractère), c ou d
  • \^ -> un caractère ^
  • Partout ailleurs -> début de la chaîne/ligne.

Donc ^[b-d]t$ Signifie:

  • Début de ligne
  • caractère b/c/d
  • caractère t
  • Fin de ligne
83
Dukeling