emacs正则表达式匹配大写单词

2e0*_*byo 3 regex emacs

我有一个要从普通 ascii 排版的文档,当前使用大写字母进行强调。我正在尝试M-x query-replace-regexp采取大写 WORD 并将其替换为\emph{lowercase word}(即更改“word”的大小写而不是插入字符串“lowercase”)。我可以用 进行替换\\emph{\1},但由于某种原因我无法\,(downcase \1)(根据[我对文档的阅读])工作(该词的大小写未受影响,尽管替换capitalise确实按预期工作,而且我不知所措如何匹配大写单词。

如果有人感觉特别友善,有什么方法可以匹配所有大写单词直到一个小写单词,这样我就可以将很多内容包裹在一个单词中\emph{}

提前谢谢了。我已经阅读了文档,但是在尝试理解正则表达式一个小时后,我的头很疼,而且一无所获......

abo*_*abo 5

  • query-replace-regexp
  • \([A-Z][A-Z \n]*[A-Z]\)
  • \\emph{\,(downcase \1)}

请注意,您需要实际执行C-q C-j而不是在正则\n表达式中执行。