[\s][[:punct:]]*(@anybody)[[:punct:]]*[\s]
hello, @anybody! How are you?
replaceAll
, то он заменит весь , @anybody!
, а хотелось бы, чтобы заменялся только group, т.е. @anybody
. Как это можно реализовать? (...)(@anybody)(...)
, а в строке замены ссылаться на них $1, $3.(\s\p{Punct}*)(@anybody)(\p{Punct}*\s)
$1text$3
(?<=...)
lookahead (?=...)
(?<=\s|\p{Punct})@anybody(?=\p{Punct}|\s)
text