Я не хочу сопоставлять abc с пробелами ВООБЩЕ, если за ними следуют другие символы, не являющиеся пробелами

Я использую это регулярное выражение https://regex101.com/r/7Cw1fy/1

abc(\s*)(?![\S]+)

abc соответствует -> OK

abc cde соответствует -> не в порядке

Формы c голосовым вводом в React с помощью Speechly
Формы c голосовым вводом в React с помощью Speechly
Пытались ли вы когда-нибудь заполнить веб-форму в области электронной коммерции, которая требует много кликов и выбора? Вас попросят заполнить дату,...
В чем разница между Promise и Observable?
В чем разница между Promise и Observable?
Разберитесь в этом вопросе, и вы значительно повысите уровень своей компетенции.
Сравнение структур данных: Массивы и объекты в Javascript
Сравнение структур данных: Массивы и объекты в Javascript
Итак, вы изучили основы JavaScript и хотите перейти к изучению структур данных. Мотивация для изучения/понимания Структур данных может быть разной,...
Создание собственной системы электронной коммерции на базе Keystone.js - настройка среды и базовые модели
Создание собственной системы электронной коммерции на базе Keystone.js - настройка среды и базовые модели
Прошлая статья была первой из цикла статей о создании системы электронной коммерции с использованием Keystone.js, и она была посвящена главным образом...
Приложение для отслеживания бюджета на React js для начинающих
Приложение для отслеживания бюджета на React js для начинающих
Обучение на практике - это проверенная тема для достижения успеха в любой области. Если вы знаете контекст фразы "Практика делает человека...
Стоит ли использовать React в 2022 году?
Стоит ли использовать React в 2022 году?
В 2022 году мы все слышим о трендах фронтенда (React, Vue), но мы не знаем, почему мы должны использовать эти фреймворки, когда их использовать, а...
0
0
18
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

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

abc(?!\s*\S)(\s*)

См. демонстрация регулярных выражений. Подробности:

  • abc - фиксированная строка
  • (?!\s*\S) - отрицательный просмотр вперед, который не соответствует совпадению, если есть ноль или более пробелов, за которыми следует пробел сразу справа от текущего местоположения
  • (\s*) - Группа 1: ноль или более пробелов.

Оба хорошие ответы, я не знаю, какой из них я должен проверить :)

user310291 10.04.2022 18:51

Я выбираю этот, потому что мне всегда нужны группы.

user310291 10.04.2022 18:53

@ user310291 Это зависит от того, как выглядят ваши строки. Если у вас есть abc в более длинной строке с текстом после abc, это решение является лучшим. Если abc появляется только в конце строки, вам понадобится abc\s*$ / abc(\s*)$. Это должно быть объяснено в вопросе. Поскольку это не так, я сосредоточился на устранении непосредственной проблемы.

Wiktor Stribiżew 10.04.2022 19:06

Почему бы не использовать: abc\s*$ ?

Это будет соответствовать только в том случае, если после «abc» нет никаких символов, кроме пробела.

Протестируйте здесь: https://regex101.com/r/HdJ0FS/1

abc             -> matches
abc cde         -> no match
abc             -> match
abc      sdfds  -> no match

Оба хорошие ответы, я не знаю, какой из них я должен проверить :)

user310291 10.04.2022 18:51

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