Python RegEx: сопоставлять слова в строке, только если им не предшествует определенный символ.Python

Программы на Python
Anonymous
Python RegEx: сопоставлять слова в строке, только если им не предшествует определенный символ.

Сообщение Anonymous »

Например:

Код: Выделить всё

something foo somethingelse // matches: [something, foo, somethingelse]
something1 something.foo-somethingelse // matches: [something1, something, foo, somethingelse]
но не если перед ним стоит '>'

Код: Выделить всё

something1 something>foo-.somethingelse // matches: [something1, something, somethingelse]
Я разработал это регулярное выражение:

Код: Выделить всё

(?(?)(\w+)|\w+)
(? - if
(? - literal '>'
)
(\w+) - capture a group of 1 or more word characters
| - else
\w+ - match 1 or more word characters without capturing them
)
который работал в регулярном выражении101 (слова, начинающиеся с >, не были включены в группу 1), но именно тогда я узнал, что условное регулярное выражение либо не используется в Python, либо не существует работают как в Perl.
Также поправьте меня, пожалуйста, если это не так.

Подробнее здесь: https://stackoverflow.com/questions/790 ... -a-specifi

Вернуться в «Python»