Как обеспечить, чтобы символ не появлялся в конце или в начале, а также не повторялся с помощью регулярных выражений? - PullRequest
1 голос
/ 19 марта 2019

Я только начал изучать JS.В теме регулярных выражений, как одно из моих назначений, это было оператором задачи.

Строка может содержать следующие символы: *

Прописные буквы (AZ) и строчные буквы (az)Английские буквы.

Цифры (0-9).

Символы!# $% & '* + - / =?^ _ `{|} ~

Символ.точка при условии, что это не первый или последний символ, и он не будет приходить один за другим.

Я пробовал много разных способов, и лучшее, что я мог сделать, было - /^[^.]([\^><@,.]+)/

Это явно неправильно.Главная проблема для меня - убедиться, что точка (точка) не входит в начало или конец и не повторяется.Есть и другие проблемы.

Может кто-нибудь помочь мне с этим?

1 Ответ

0 голосов
/ 19 марта 2019

Отрицательный взгляд в начале гарантирует, что точка никогда не встречается в начале входной строки и отклоняет последовательные периоды или период в конце, выражение, подобное \.(?!\.|$), выполнит работу:

^(?!\.)(?:[A-Za-z0-9!#$%&'*+\/=?^_`{|}~-]+|\.(?!\.|$))+$

Смотрите демо здесь

...