簡體   English   中英

Sublime Text - 用於搜索和替換的正則表達式

[英]Sublime Text - Regular Expression for search and replace

我想使用正則表達式的搜索和替換來打開以下文本:

“有些文字我不關心\\cite[p. 6]{some-bibtex-citation}更多文字我更關心\\ cite [p.321 / 4] {and-another-citation-from-bibxtex} and還有更多文字。“

進入這個:

“有些文字我不關心[\\citem{author}{some-bibtex-citation}, p. 6]更多關於[\\citem{author}{and-another-citation-from-bibxtex}, p. 321 / 4]以及更多文字。“

正如您所看到的,所有\\ cite事件都被替換為另一個。 它們現在被[和]包圍,它們都以[citem {author}

我嘗試使用以下搜索正則表達式,它基本上可以工作,但可以一次選擇太多的文本:

\\cite\[(.+)\]\{(.+)\}

我用於此的替換正則表達式是:

[\\citem{author}{\2}, \1]

更改你的正則表達式,使.+變得懶惰:

\\cite\[(.+?)\]\{(.+?)\}
           ^        ^

使一個貪婪的量詞變得懶惰意味着它不是盡可能地匹配,而是盡可能少地匹配。 在你目前的正則表達式中, . 將匹配所有字符,直到找到另一個字符) (后跟正則表達式中的其他字符)。

或者使用否定的類:

\\cite\[([^\]]+)\]\{([^}]+)\}

暫無
暫無

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

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