Python Регулярное выражение, затирающее текст между несколькими латексными выражениями. - PullRequest
0 голосов
/ 12 марта 2020

Я пытаюсь очистить разговорный текст из корпуса StackExchange, который содержит предложения, в которых могут быть латексные выражения. Латексные выражения ограничены знаком $: например, $ y = ax + b $

Вот строка примера текста из данных, содержащих несколько латексных выражений:

@ Gruber - это другой пример, когда применяется так: $ \ mathrm {Var} \ left (X ^ 2 \ right) = 4 X ^ 2 \ mathrm {Var} (X) $ не имеет никакого смысла, с левой стороны у вас есть постоянная и справа случайная величина. Вы имели в виду $ 4E (X) ^ 2 Var (X) $, благословите тех, кто идет по дороге меньше путешествовавшей. Другое исключение в вашей теории - это $ 4E (X) ^ 2 Var (X) $. О чем вы думали? :)

Вот что у меня есть: кажется, что текст между каждым совпадением латексного выражения затирается и дает одно огромное совпадение, которое является неправильным.

([\$](.*)[\$]){1,3}?

1 Ответ

2 голосов
/ 12 марта 2020

Я не понимаю, почему вы ставите {1,3} в конце, какую цель вы пытались достичь. В любом случае, ваша ошибка в том, что вы используете [\$], что дает вам набор из двух символов - бэкслу sh и доллар. Я предлагаю вам использовать

\$([^$]*)\$

и заменить его пустой строкой: демо здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...