
如题,下面是一个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/ |