есть строка: BWAsGnBnWetekUTVuP есть регулярное выражение: [A-Z][a-z]{1}[A-Z] Хочу искать символы в нижнем регистре, но тут идет пропуск символа "n" между AsGnBnW т.е. почему то такой символ пролетает мимо, кто может поясните почему? спасибо, большое
(?= ) - позитивная опережающая проверка. (?<= ) - позитивная ретроспективная проверка. Книга Джеффри Фридла «Регулярные выражения» там всё очень подробно изложено. Тут важно понимать с какой позиции будет продолжен поиск. После нахождения AsG следующая попытка поиска будет с той позиции, где завершился предыдущий поиск т.е. nBnW и первая буква n будет пропущена. Опережающая проверка позволяет проверить символ и не включать его в совпавший текст, тогда следующий поиск будет с позиции GnBnW и пропусков не будет.