Ограничьте количество слов в ответе регулярным выражением - PullRequest
8 голосов
/ 17 февраля 2009

Есть ли у кого-нибудь регулярное выражение, которое бы работало для ограничения количества слов в ответе? Например, я хотел бы использовать его с проверкой jQuery, чтобы я мог ограничить текстовое поле / текстовое поле, чтобы оно имело 250 слов. Коробки будут в текстовом формате.

Я немного погуглил, но ни один из тех, что я нашел, не был очень хорошим. В основном они делали \ b \ w + \ b, но у меня были проблемы с тем, чтобы это сработало.

Ответы [ 4 ]

8 голосов
/ 17 февраля 2009

Не могли бы вы попробовать:

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

Это ограничивает 250 слов в нескольких строках.

Боюсь, что первоначальное предложение Алана:

/^\w+(?:\s+\w+){0,249}$/

может иметь место катастрофическое возвращение назад

При вложении операторов повторения убедитесь, что существует только один способ сопоставить одно и то же совпадение

3 голосов
/ 17 февраля 2009

Как насчет разделения текста с помощью регулярного выражения (скажем, "\ s +"), а затем подсчета длины полученного списка? Это было бы несколько легче читать.

1 голос
/ 16 сентября 2016

Это хорошо сработало для меня, например, если вы хотите ограничение в 6 слов:

^(?:\w+\W+){0,5}(?:\w+)$
0 голосов
/ 21 февраля 2016

Вот регулярное выражение, которое я использую для проверки количества слов.

(\w*\W*){0,250}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...