Regex для ограничения длины строки для строк с символами новой строки

Не используется git stash

Сценарий: вы работаете над функцией A. У вас ушло около 2 дней, и у вас есть примерно один день для ее завершения. Вы написали хороший код, но это еще не все. Появляется ваш начальник и говорит: «Эй, мне сейчас нужна функция B. Должно занять 10 секунд».

Конечно - 10 секунд, чтобы написать ее, 2 дня работы потеряны. Или 2 часа, пытаясь закомментировать и взломать весь код, который вы написали за последние 2 дня, чтобы вернуть все в рабочее состояние.

git stash здесь, чтобы спасти день. Просто введите git stash в командной строке, в корне вашего проекта, и все ваши последние изменения перейдут в «stash», который представляет собой стек изменений. Теперь вы вернулись туда, где вы были 2 дня назад, но ваша работа не потеряна. Вы вносите 10-секундное изменение, регистрируете его, затем набираете git stash pop, чтобы вернуть ваши изменения (и удалить их из стека).

Как может быть очевидно, если у вас ужасный день, вы можете копить несколько раз, хотя, очевидно, чем больше вы это делаете, тем менее веселым может быть слияние, когда вы, наконец, сделаете git stash и выбросите их все. Если вам удастся накопить много тайников за месяцы работы, у вас есть git stash list, чтобы просмотреть их, git stash pop и git stash drop, чтобы выбрать, какие из них стоит вернуть, а какие лучше просто бросить, и git stash clear если только ты прячешь ужасные идеи.

8
задан Gavin Miller 23 October 2009 в 21:02
поделиться

3 ответа

Вы можете использовать параметр RegexOptions.Singleline при проверке ввода. Это обрабатывает ввод как однострочный оператор и анализирует его как таковой.

В противном случае вы можете попробовать следующее выражение:

^(.|\s){1,500}$

Это должно работать в многострочном вводе.

13
ответ дан 5 December 2019 в 12:59
поделиться

Невозможность установить RegexOptions вредит вам. Так как это находится в RegularExpressionValidator, вы можете попробовать установить параметры в самом регулярном выражении.

Я думаю, это должно сработать:

(?s)^.{1,500}$

Часть (? S) включает параметр Singleline, который позволит точке соответствовать каждому символ, включая перевод строки. Для чего это стоит, здесь также перечислены другие RegexOptions и обозначения, необходимые для их установки в качестве встроенного оператора.

0
ответ дан 5 December 2019 в 12:59
поделиться

Можете ли вы удалить разрывы строк перед проверкой длины строки? Который' d будет легко сделать при проверке на стороне сервера. (В .net вы можете использовать для этого специальный валидатор)

Однако с точки зрения UX я бы также реализовал клиентский «счетчик символов». Здесь есть что найти. В jQuery есть несколько вариантов. Затем вы можете реализовать настраиваемый валидатор для запуска только на стороне сервера, а затем использовать счетчик символов в качестве проверки на стороне клиента. Намного приятнее для пользователя видеть, сколько символов они оставили ВО ВРЕМЯ набора текста.

а затем используйте счетчик символов в качестве проверки на стороне клиента. Намного приятнее для пользователя видеть, сколько символов они оставили ВО ВРЕМЯ набора текста.

а затем используйте счетчик символов в качестве проверки на стороне клиента. Намного приятнее для пользователя видеть, сколько символов они оставили ВО ВРЕМЯ набора текста.

0
ответ дан 5 December 2019 в 12:59
поделиться
Другие вопросы по тегам:

Похожие вопросы: