Регулярное выражение не только для пробелов

#regex #forms #input

#регулярное выражение #формы #ввод

Вопрос:

Я ищу регулярное выражение, которое не допускает только пробелов (но более одного). Один позволяет (пробел). У меня есть что-то вроде этого .*S.*' или этого .*[^ ].* , но я хочу разрешить только один пробел, но не более одного пробела.

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

1. Не могли бы вы привести примеры совпадений и несоответствий?

2. Вероятно pattern="S*(?:sS*)?" , подойдет.

Ответ №1:

Вы можете использовать

 pattern="S*(?:sS*)?"
  

Шаблон будет проанализирован как ^(?:S*(?:sS*)?)$ шаблон и будет соответствовать

  • ^ — начало строки
  • (?: — начало группы без захвата:
    • S* — ноль или более символов, отличных от пробела
    • (?:sS*)? — необязательная последовательность из пробела и нуля или более символов, не содержащих пробелов
  • ) — конец группы без захвата
  • $ — конец строки.