Я хочу иметь регулярное выражение, чтобы найти фразу и два предшествующих ей слова, если есть два слова. Например, у меня есть строка (по одному предложению в строке):Python regex with w не работает
Chevy - моя машина, а Rusty - моя лошадь. Моя машина очень красивая, моя собака красная.
Если я использовать регулярное выражение:
re.finditer(r'[\w+\b|^][\w+\b]my car',txt)
Я не получаю ни одного матча.
Если я использую регулярное выражение:
re.finditer(r'[\S+\s|^][\S+\s]my car',txt)
я получаю: 'моя машина' и». Мой автомобиль '(я игнорирую случай и используя многострочный)
Почему регулярное выражение с \ w + \ b не находит ничего? Он должен найти два слова и «мой автомобиль» Как я могу получить два полных слова перед «моей машиной», если есть два слова. Если есть только одно слово, предшествующее моей машине, я должен это получить. Если перед ним нет слов, я должен получить только «свою машину». В моих строках, например, я должен получить: «Chevy моей машина» и «Мой автомобиль» (не предшествующих слов здесь)
Просьба указать точный вызов Python, который вы используете. –