Что такое различие между:Отрицательный Lookahead для Regex
^(?!.*baa)[abc]*$
и
^(?!baa)[abc]*$
Какова роль этого .*
. Я знаю, что это означает любой символ 0 или более раз, но почему второй захватывает строки, такие как cccaabaa
, которые следует отбросить?
спасибо. следуя этим соображениям, почему нам не нужно добавлять '. *' после того, как мы можем сказать, что это не добавляет конец ввода, как в '^ (?!. * baa *.) [abc] * $' – ocram
@ocram yes - '. *' После 'baa' не имеет значения. Если вы хотите запретить 'baa' где-либо * кроме * использовать конец'^(?!. * Baa.) ', Что требует наличия (по крайней мере) еще одного символа после' baa' – Bohemian