簡體   English   中英

正則表達式-替換所有出現的奇數/偶數

[英]Regex - replace every odd/even occurrence

好的,伙計們,任務是用模式B替換模式A的每個奇數事件,用模式C替換每個偶數的事件。我放棄了這一點,並為該任務編寫了python腳本,但是我想知道是否可以使用正則表達式替換(例如sed或vi)

如果您需要知道這是什么目的,那就是將長文本重新格式化為帶LaTeX樣式的雙引號(``打開,''關閉)。

最直接的方法是在處理文件之前將其完全讀取到模式空間中-由於它是LaTeX源文件,因此我認為它可以舒適地放入內存中。 你可能會用

sed ':a $!{ N; ba }; s/"\([^"]*\)"/``\1'"''"'/g' filename.tex

Shell引號'' (LaTeX的右引號)比實際情況更令人困惑。 sed看到的是

:a $!{ N; ba }          # read the whole file into the pattern space
s/"\([^"]*\)"/``\1''/g  # replace all quoted strings with LaTeX-quoted strings

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM