Я изучаю расширенное использование регулярного выражения и заметил, что в нем много сообщений используют (*SKIP)
или (*F)
.
Я задал вопрос, когда идея заключалась в сопоставлении строк, которые не имеют yellow
, но имеет blue
, только если brown
существует после синего. И правильный ответ был:
.*yellow.*(*SKIP)(*F)|^.*\bblue\b(?=.*brown).*$
Я также попытался найти похожие выражения, как показано ниже, но не работал для всех случаев:
^((?!yellow).)*blue(?=.*brown).*$
Я понятия не имел об этих флагах (*SKIP)(*F)
, так что вопрос в том, как работает этот флаг? Что они делают? И есть ли другие флаги, подобные этим?
Спасибо.