У меня есть проблема, делая Perl-регулярное выражение, чтобы изменить \
характер следуя этим правилам:Perl Regex для MathJax синтаксиса
- Последовательность согласования должна начинаться с
\(
- Он должен заканчиваться
\)
- Любой
\
символ в предыдущей согласованной последовательности следует заменить двойной обратной косой чертой\\
Пример текстовой ссылки:
Se la \probabilità dell'evento\ A è \(\frac{3}{4} \) e la
probabilità dell'evento B è \(\frac{1}{4}\)
\(\frac{3}{4} +\frac{3}{4}\) .
\(\frac{1}{4} - \frac{3}{4}\) .
\(\frac{3}{16}\) .
\(\frac{1}{2}\) .
должны стать:
Se la \probabilità dell'evento\ A è \\(\\frac{3}{4} \\) e la
probabilità dell'evento B è \\(\\frac{1}{4}\\)
\\(\\frac{3}{4} +\\frac{3}{4}\\) .
\\(\\frac{1}{4} - \\frac{3}{4}\\) .
\\(\\frac{3}{16}\\) .
\\(\\frac{1}{2}\\) .
До сих пор это мой лучший выбор:
s/(\\\()(.*)(\\)(.*)(\\\))/\\\\\($2\\\\$4\\\\\)/mg
, который производит:
Se la \probabilità dell'evento\ A è \\(\\frac{3}{4} \\) e la
probabilità dell'evento B è \\(\\frac{1}{4}\\)
\\(\frac{3}{4} +\\frac{3}{4}\\) .
\\(\frac{1}{4} - \\frac{3}{4}\\) .
\\(\\frac{3}{16}\\) .
\\(\\frac{1}{2}\\) .
Как вы можете см.
\\(\frac{3}{4} +\\frac{3}{4}\\) .
\\(\frac{1}{4} - \\frac{3}{4}\\) .
неправ.
Как изменить мое регулярное выражение, чтобы удовлетворить мои потребности?
Это будет правильный вопрос, если после вашего входа и выхода образца он продолжал с, «Я попытался, используя следующий код: ....... но он не смог соответствовать нижеследующий состояние: .......... Как мне изменить свой код, чтобы приспособить это условие? »Как написано, это спецификация работы, которая должна быть выполнена, а не вопрос, требующий руководства по коду, над которым вы работаете. – DavidO
Извините, я забыл добавить свою попытку до сих пор я только что редактировал вопрос – LaboDJ
Его можно эффективно выполнить с помощью '$ string = ~ s/(? x) (?: (?! \ A) \ G [^ \\] * \ K \\ | \\ (? = \()) (? =. *? (? <= \\) \))/\\\\/g; ' – sln