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