Éliminer « deux espaces ou plus » dans une expression régulière
P粉959676410
P粉959676410 2023-09-16 14:33:55
0
1
971

J'ai besoin d'une regex pour autoriser :

  1. Pas d'espace en début ou en fin de ligne
  2. Il ne peut y avoir qu'un seul espace entre les mots

J'en ai assez de quelque chose comme "^[АЯ-Ёа-яё0-9' ']+$" - mais ce n'est pas ce dont j'ai besoin.

P粉959676410
P粉959676410

répondre à tous(1)
P粉133321839

Cela devrait fonctionner :

^(?! )(?!.*  )(?!.* $)[^\s].*$

Voici une répartition de l'expression :

  • ^ : Affirmez le début de la ligne.
  • (?!) : Annulez l'anticipation et interdisez les espaces au début de la ligne.
  • (?!.*) : anticipation négative, deux espaces consécutifs ou plus dans la chaîne ne sont pas autorisés.
  • (?!.* $) : annule l'anticipation et n'autorise pas les espaces à la fin de la ligne.
  • [^s] : correspond à tout caractère autre qu'un espace.
  • .* : fait correspondre n'importe quel caractère (sauf la nouvelle ligne) 0 fois ou plus.
  • $ : Affirmez la fin de la ligne.

J'ai fait un petit test sur regex101.com.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal