如题,下面是一个latex,为了能在ghost中配合markdown和mathjex使用,需要将_进行转义。
$$ P_t = \frac{Nominal \ GDP}{Real \ GDP}=\frac{$Y_t}{Y_t} $$
替换为:
$$ P\_t = \frac{Nominal \ GDP}{Real \ GDP}=\frac{$Y\_t}{Y\_t} $$
感激不尽。
P.S. 我用Atom进行正则表达式替换。
1
walleL 2015 年 3 月 16 日
echo '$$ P_t = \frac{Nominal \ GDP}{Real \ GDP}=\frac{$Y_t}{Y_t} $$' | sed -re '/\$\$.+\$\$/{s/_/\\_/g}'
sed 的解法, Atom 没用过 |
2
discrete OP @walleL 这在Mac下用不了……
`` ➜ ~ cat 1 | sed -re '/\$\$.+\$\$/{s/_/\\_/g}' sed: illegal option -- r usage: sed script [-Ealn] [-i extension] [file ...] sed [-Ealn] [-i extension] [-e script] ... [-f script_file] ... [file ...] ➜ ~ cat 1 | sed '/\$\$.+\$\$/{s/_/\\_/g}' sed: 1: "/\$\$.+\$\$/{s/_/\\_/g}": bad flag in substitute command: '}' `` |
3
P233 2015 年 3 月 16 日
用 vim 吧
:g/^\$\$.*\$\$$/s/_/\\_/g |
6
P233 2015 年 3 月 16 日
|
8
P233 2015 年 3 月 18 日
vim 的正则预查我搞不定,我应该会替换全部 $ ,然后再把两个的 $$ 换回来
:g/^\$\$.*\$\$\s*$/s/_/\\_/g |
9
P233 2015 年 3 月 18 日
还没修改,不小心发出去了
:g/^\$\$.*\$\$\s*$/ 匹配以 $$ 开头和结尾的行,后面跟替换命令,比如 s/\$/\\\$/g |
10
discrete OP @P233 我又试了几次,才发现问题所在囧:我的不一定是每行一个这样的式子,而是可能写着写着就$$ \pi_t \ $$这样……如何不匹配行而是仅匹配行内的片段?
|
11
P233 2015 年 3 月 18 日
抱歉,不了解 latex 以为是整行整行的。可以非贪婪匹配 $$ 与第一个出现的 $$,像这样 :g/\$\$.*?\$\$/ 后面跟着替换命令 s/
|