Регулярное выражение Python, чтобы избежать символа ранее в строке

Я хотел бы использовать регулярное выражение для поиска точной строки, но не для части комментария, обозначенной как //.

Так, например, в строке:

Привет яблочные яблоки//едят яблоко

Он должен совпадать с первым яблоком, но не вторым или третьим.

Итак, я думаю, что регулярное выражение будет таким. Он найдет строку со сломанными сломами вокруг нее, но не если за ней стоит //:

(?<!\/\/)\bapple\b

Проблема с отрицательным внешним видом в этом случае заключается в том, что он смотрит непосредственно рядом со словом. Мне нужно, чтобы он выглядел дальше, чтобы убедиться, что символ комментария не существует раньше в строке.

Ответы

Ответ 1

этот шаблон поймает то, что вы хотите в первом подкатете

\/\/.*|\b(apple)\b

Демо

Ответ 2

Я думаю, вам просто нужно избежать вашего комментария для утверждения lookbehind;

    (?<!\/\/)\b(apple)\b ## doesn't work, don't use this.

Попробовать - regex101.com