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

时间:2014-04-17 16:04:38

标签: regex emacs

我有一个文件要从普通的ascii排版,目前正在使用UPPERCASE进行强调。我试图用M-x query-replace-regexp来取大写的WORD&将其替换为\emph{lowercase word}(即更改' word'不是isert the string' lowercase')。我可以使用\\emph{\1}进行替换,但由于某些原因,我无法使\,(downcase \1)(按照我的文档阅读)工作(虽然替换了{{ 1}}按预期工作,我对如何匹配大写单词感到茫然。

如果有人感觉特别亲切,有没有办法匹配所有大写单词,直到一个小写单词,这样我就可以把这个地方包裹在一个capitalise内?

非常感谢提前。我已经阅读了这些文档,但经过一个小时的尝试理解正则表达后,我的头疼了,我无处可去......

1 个答案:

答案 0 :(得分:3)

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

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