В Perl (вы не упомянули язык) это работает:
/\w-\w/
например, попробуйте этот однострочный:
mine:~> perl -e '$x="abc-def"; $x=~/\w(-)\w/; print "$x $1\n";'
abc-def -
или этот:
mine:~> perl -e '$x="abc-def"; print "$x\n";$x=~s/(\w)-(\w)/$1 $2/; print "$x\n";'
abc-def
abc def
Вот пример (из комментариев) замены все соответствующего '-' в строке:
mine:~> perl -e '$x="-this i-s a te-st-"; print "$x\n";$x=~s/(\w)-(\w)/$1$2/g; print "$x\n";'
-this i-s a te-st-
-this is a test-
Обратите внимание, что в этом примере я просто удалил черту, в то время как в предыдущих примерах я заменил ее пробелом. Я также добавил модификатор g
в команду подстановки, чтобы он заменял все вхождения '-'.