Условие регулярного выражения для лишних пробелов между словами в строке

^(?=\S)^[ `\'\.\-&A-Za-z0-9u00C0-u017F]+(?<=\S)$

Это то, что я придумал, но я не знаю, как проверить наличие пробелов, лишних пробелов между словами в середине строки

1 ответ

Решение

Чего вы не хотите: пробелы в начале или конце или лишние пробелы между словами. Затем вы хотите строку, состоящую из отдельных слов, разделенных пробелами.

Я продолжу с ^\S+(?:\s\S+)*$,

Подробно:

^      # Matches at the beginning of the string
\S+    # Matches one or more non-spacing character
(?:    # Starts a non-capturing group
  \s   # Matches one spacing character
  \S+  # Matches one or more non-spacing character
)*     # Repeat non-capturing group zero or more times
$      # Matches at the end of string

Тестирование здесь

Другие вопросы по тегам