Это зависит от вашего определения слова (какой символ разрешен)
\b(\w)\w*(?!\1)\w\b
Это первое регулярное выражение будет определять все слова, которые соответствуют критериям (первое слово char отличается от последнего слова char в слове (и слово length>=2
)) из предложения.
Если вы используете .
в своем регулярном выражении, оно будет соответствовать любому символу (кроме ограничителей строки), включая пробелы ...
Вы можете заменить его на ^ (\ w) \ w * (?! \ 1) \ w $, если ваш ввод уже является словом, также измените \w
(эквивалентно [a-zA-Z0-9_]
) на более подходящий диапазон для вас или предопределенного класса символов (в зависимости от вашего движка регулярных выражений \p{L}
, [[:Alpha:]]
, \p{Alpha}
, ...).