3 votes

Regex de 150 mots

J'ai besoin d'une expression régulière qui n'autorise pas plus de 150 mots. J'ai essayé quelques expressions, mais elles comptent toutes des caractères, pas des mots.

Mes tentatives :

^(?:\b\w+\b[\s\r\n]*){1,150}$
^(?:\w+\W+){0,150}(?:\w+)$
^(\w*\W*){0,250}$

0voto

Vikhram Points 769

Je ne suis pas sûr de ce que vous entendez par restreindre l'entrée à l'aide d'expressions régulières. Les expressions régulières sont utilisées pour extraire ou faire correspondre des modèles. Vous pouvez utiliser ces informations pour restreindre l'entrée.

L'expression régulière ci-dessous correspondra à une déclaration contenant 150 "mots".

^(?:\s*\S+){1,150}$

^ Anchor to the beginning of the input
$ Anchor to the endof the input
\s: Space character
\S: Non space character
(?:xxx): Grouping without capturing
{1,150} : Match 1 - 150 instances of the preceding expression

J'utilise des guillemets pour un mot, car cela comptera la phrase ci-dessous comme étant composée de 6 mots et de 7 mots respectivement, en raison de l'espace avant le point.

I am happy. This is good
I am happy . This is good

Vous pouvez supprimer les signes ^ et $ de l'expression pour extraire simplement les 150 premiers mots, si vous le souhaitez.

0voto

vks Points 35744
^\w+(?:\s+\w+){0,149}$

Cela devrait le faire pour vous.

Voir la démo pour 5 .

https://regex101.com/r/bT4kP8/2

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X