Tag: build议function

是否有可能改变emacs的正则​​expression式语法?

我爱emacs。 我喜欢正则expression式。 我讨厌emacs的正则​​expression式语法 – 需要避免分组parens和大括号,你不逃避字面parens,缺乏预定义的字符类,等等。 我可以replaceemacs的正则​​expression式引擎,或调整一些设置,以便当我使用Query-replace-regexp(或许多其他function之一)function时,我可以使用在java / js / perl / ruby​​ / etc中编程的语法…? 编辑:该主题最初是“如何更改emacs的正则​​expression式引擎”,这不仅将改变逃逸规则和添加字符类,但也(在后文中没有提到)添加支持各种常见的扩展(?…)。 像非捕获伙伴的function:(?:…),仅当/如果没有后面跟:(?= …)/(?!…),以及其他。 我不相信(虽然很高兴能被纠正),但emacs当前的正则expression式引擎可能会有这些function,而且没有任何语法replace可以解决这个问题。 下面的解决scheme通过replaceemacs理解的语法来解决转义和其他char类的原始问题。 第二个答案(现在删除)build议build议(添加一个函数在另一个开始运行)emacs的正则​​expression式函数来替代所有的正则expression式处理。 作者很快就审查了自己意识到这可能会破坏现有的emacs代码,最终这个post被删除了。 我仍然希望将正则expression式引擎更改为支持扩展的引擎,但是我同意改变逃逸行为会造成严重的后果,我不愿意追逐。 因此,我正在改变主题来匹配问题并接受答复。 它改变了引擎以支持通用语法和扩展,build议使用regex函数将emacs-internal代码转换成通用语法,build议交互function将我的通用语法转换为emacs-syntax(所以它可以是转换回普通)…但我认为即使RMS会build议在此之前分叉。