Задать вопрос

Почему регулярное выражение покрывает один пробел перед словом, несмотря на то, что явно указано обратное?

Добрый вечер.
Есть вот такое регулярное выражение, предельно простое. По задумке, оно должно покрывать действительные части строки (т.е. все символы, которые разделены пробелами). Для этого я явно указал \S, т.е. все, кроме пробелов и подобных символов. Однако при срабатывании покрываются и пробелы, и буквы, хотя по логике такого быть не должно. Примечательно, что в группу включается только предшествующий слову пробел (если слова разделяют 2 и более пробелов, будет захвачен только один из них).
Где именно я ошибся?

Заранее спасибо за советы.
  • Вопрос задан
  • 210 просмотров
Подписаться 1 Оценить Комментировать
Решения вопроса 1
@MiiNiPaa
Ваше выражение:

Один символ не из списка '@', 'p', 'a', 'r', 'a', 'm'
Затем несколько непробельных символов.

Пробел подходит под первую категорию и захвачен выражением. Захвачен только один пробел, потому что перед "несколько непробельных символов" захватывается один символ
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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