мне нужно, чтобы соответствовать следующим образом:Regex - как совместить границу символа без слов?
-foo
foo-
Но я не хочу, чтобы соответствовать foo-bar
.
Я не могу использовать \b
, поскольку это не соответствует границе дефиса. Моя цель - заменить дефис пространством. Предложения?
UPDATE 1 (лучший пример):
xxx yyy -foo foo- foo-bar zzz
Я заинтересован только в строках -foo
и foo-
. Идея состоит в том, чтобы удалить эти дефисы. Дефисы - это переносы слов. Значит, должно быть слово слева и справа. Если это не так, то дефисс не должен появляться.
Вам понадобится более конкретная информация о том, что вы хотите принять и что хотите отклонить. Кроме того, '\ b' соответствует только границе слова, поэтому я могу предположить, что вы хотите использовать его как часть более крупного шаблона. Какова более крупная модель? –
Я пытался увидеть, могу ли я использовать '\ b' для соответствия началу дефиса. Нет. Мне просто нужно сопоставить строки, начинающиеся с дефиса ИЛИ заканчивается дефисом. – StackOverflowNewbie
Это довольно просто, и беспокоиться о границах слов - это просто оскорбление вещей. Вы должны были сказать так много изначально! –