За винятком твердження нульової довжини, символ у введенні завжди буде вживатися при зіставленні. Якщо ви коли-небудь знаходитесь у випадку, коли ви хочете ще раз захопити певний символ у вхідному рядку, вам буде потрібно твердження нульової довжини в регулярному виразі.
Є кілька тверджень нульової довжини (наприклад, ^(початок вводу / рядка), $(кінець вводу / рядка), \b(межа меж)), але оглядові сторони ( (?<=)позитивний огляд і (?=)позитивний огляд вперед) - єдиний спосіб що ви можете захопити текст, що накладається, із вводу. Негативні огляди ( (?<!)негативний огляд, (?!)негативний огляд уперед) тут не дуже корисні: якщо вони стверджують, що це істина, то захоплення всередині не вдалося; якщо вони стверджують, що помилкові, то збіг не вдається. Ці твердження мають нульову довжину (як уже згадувалося раніше), що означає, що вони будуть стверджуватись, не споживаючи символів у вхідному рядку. Вони фактично збігатимуться з порожнім рядком, якщо твердження пройде.
Застосовуючи наведені вище знання, регулярним виразом, який підходить для Вашого випадку, буде:
(?=(\w\w))