Ответ 1
Для этого конкретного урока правильное regex
:
[^b]og
ОБЪЯСНЕНИЕ:
/[^b]og/
[^b] match a single character not present in the list below
b the literal character b (case sensitive)
og matches the characters og literally (case sensitive)
ЗАМЕТКИ:
Классы отрицательных персонажей
Ввод каретки после открывающей квадратной скобки отменяет класс персонажа. В результате класс символов соответствует любому символу, которого нет в классе символов. В отличие от точки, классы отрицанных символов также соответствуют (невидимым) символам разрыва строки. Если вы не хотите, чтобы отрицательный класс символов соответствовал разрывам строк, вам необходимо включить символы разрывов строк в класс. [^ 0-9\r\n] соответствует любому символу, который не является цифрой или переводом строки.
Важно помнить, что класс отрицанных символов все еще должен соответствовать символу. q [^ u] не означает: "за aq не следует au ". Это означает: " aq сопровождается символом, который не является au ". Он не соответствует q в строке Ирак. Он соответствует q и пробелу после q в Ираке является страна. Действительно: пробел становится частью общего соответствия, потому что именно " символ, который не является au ", соответствует классу отрицанных символов в приведенном выше регулярном выражении. Если вы хотите, чтобы регулярное выражение соответствовало q, и только q, в обеих строках, вам нужно использовать отрицательный прогноз: q (?! U). Но мы вернемся к этому позже.