Я пытаюсь использовать регулярное выражение Python для поиска математического выражения в строке. Проблема в том, что косая черта, похоже, делает что-то неожиданное. Я бы подумал, что [\w\d\s+-/*]*
будет работать для поиска математических выражений, но по какой-то причине он также находит запятые. Немного экспериментирования показывает, что прямая косая черта является виновником. Например:
>>> import re
>>> re.sub(r'[/]*', 'a', 'bcd')
'abacada'
По-видимому, сперва косые черты совпадают между символами (даже если они находятся в классе символов, но только при наличии звездочки). Обратные косые черты не ускользают от них. Я некоторое время охотился и не нашел на нем никакой документации. Любые указатели?