В слове разрешено регулярное выражение для проверки последовательных алфавитов, меньших или равных 3

#javascript #regex

#javascript #регулярное выражение

Вопрос:

Я пытался внести изменения в данное регулярное выражение, т.е.

/(?!(.)1 $)(?!.*([a-zA-Z])2{2})(?!.*( |'|-|")3{1})(?=.*d{1})(?=.*[a-zA-ZÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞߟàáâãäåæçАаБбВвГгДдЕеЖжЗзИиЙйКкЛлМмНнОоПпРрСсТтУуФфХхЦцЧчШшЩщЪъЫыЬьЭэЮюЯяèéêëìíîïðñòóôõöøùúûüýþÿ]{1})(?=(.*[a-zA-ZÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞߟàáâãäåæçАаБбВвГгДдЕеЖжЗзИиЙйКкЛлМмНнОоПпРрСсТтУуФфХхЦцЧчШшЩщЪъЫыЬьЭэЮюЯяèéêëìíîïðñòóôõöøùúûüýþÿd]){3}.*$)(?!.*[P|p] (OST|ost)*.*s*[O|o|0]*(FFICE|ffice)*.*s*[B|b]*.*s*[O|o|0]*.*s*[X|x].*)^[a-zA-ZÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞߟàáâãäåæçАаБбВвГАаБбВвГгДдЕеЖжЗзИиЙйКкЛлМмНнОоПпРрСсТтУуФфХхЦцЧчШшЩщЪъЫыЬьЭэЮюЯяèéêëìíîïðñòóôõöøùúûüýþÿ0-9 *"(:,/.\;amp;)[]_ #'-]{3,40}$/

Но не смог, поскольку я пытался реализовать:

  • Три или более последовательных автономных алфавита не допускаются.
  • В слове разрешены последовательные алфавиты, меньшие или равные 3. Пример: Haaadoop разрешено, но Haaaadoop не разрешено
  • Если последовательно вводится более 1 специального символа (в слове или отдельно), он недействителен. Пример A-B разрешен, A- -B или A-amp; B не разрешены
  • Последовательные тире, апострофы не допускаются ни в одной части строки.

Поскольку изменения должны быть сделаны только в приведенном выше регулярном выражении. Пожалуйста, помогите мне, я застрял посередине.

Комментарии:

1. Пожалуйста, проверьте мою правку. Ваше регулярное выражение настолько велико? Это один шаблон или их два?

2. Это единый шаблон. Да, это так много.

3. опубликуйте то, что вы пробовали, в правильном формате регулярных выражений.

4. Это очень неясно, но я предполагаю, что исправление: 1) удалить (?=.*d) (потому Haaadoop что иначе не будет соответствовать), 2) Заменить (?!.*([a-zA-Z])2{2}) на (?!.*([a-zA-Z])2{3})

5. Работает ли это исправление? Попробуйте здесь .