Emacs `org emphasis regexp components`:此列表中的条目是否有未记录的要求?
快速提出我的问题:对于列表中的条目Emacs `org emphasis regexp components`:此列表中的条目是否有未记录的要求?,emacs,org-mode,Emacs,Org Mode,快速提出我的问题:对于列表中的条目org emphasis regexp components,特别是前两个条目pre和post(分别列出了强调文本前和强调文本后允许的字符),是否有一些不成文的要求 我以前看过关于这个列表的讨论,特别是在, 但我似乎遇到了某种未记录的边缘案例,阻止了我的编辑工作 现在,我的具体背景。我正在试图找到一种易于阅读的方法来允许 强调文本前的空格、开头分隔符和破折号,以及 强调文本后的空格、结束分隔符、破折号和点号 为此,我已制定了 “[:空格:”({[“-–-”
org emphasis regexp components
,特别是前两个条目pre
和post
(分别列出了强调文本前和强调文本后允许的字符),是否有一些不成文的要求
我以前看过关于这个列表的讨论,特别是在,
但我似乎遇到了某种未记录的边缘案例,阻止了我的编辑工作
现在,我的具体背景。我正在试图找到一种易于阅读的方法来允许
- 强调文本前的空格、开头分隔符和破折号,以及
- 强调文本后的空格、结束分隔符、破折号和点号
用于“[:空格:”({[“-–-”
和pre
对于“[:空格:)}]”-–-.?!;:“
, 我认为这是一种可读的方式(见下文)post
(
、括号[
或大括号{
)不会影响强调。但是放置任何其他字符都会影响强调。我希望左双引号“
、破折号-
、endash-
和emdash-
应该可以工作,因为它们包含在pre
中,但它们不工作。”
在强调的文本后放置任何字符都会破坏强调
下面是设置值的实际代码
(setcar组织强调regexp组件
(康卡特)
“[:空格:”
(弦
;;开始分隔符;注释防止match parens发疯写下这个问题后,我立即做了我本来应该做的事情,并尝试在前和后中添加更少的字符。瞧,原来是[
,]
,以及导致问题的-
条目
请更仔细地注意前面讨论的org emphasis regexp components
(),这些字符串以某种方式组合成一个大型复杂的正则表达式。错误的括号和破折号可能会被误认为是该正则表达式中的特殊字符,从而导致问题
按照per的评论,实际上需要遵循正则表达式的约定,所以
如果包含破折号-
,则它必须是字符串的第一个或最后一个元素,并且
如果包含右大括号]
,则它必须是字符串的第一个元素
当所有的话都说完了,下面是问题中字符集的适当的pre
和post
值
pre
:“[:空格:”({“[-–-”
post
:“][:空格:)}”?,;:–--“
以及生成这些字符串的代码(我相信非常可读)
(setcar组织强调regexp组件
(康卡特)
;所有空白字符。
“[:空格:”
(弦
;开头分隔符;注释防止复选框发疯这些是对regexp的一般限制,与org emphasis regexp组件
无关。请参见引用:要在字符替换中包含“]”,必须将其作为第一个字符。例如,“[]a] '匹配']'或'a'。若要包含'-',请将'-'写为可选字符的第一个或最后一个字符,或作为范围的上限。因此,'[]-]'同时匹配']'和'-'。
谢谢!在处理正则表达式时,我真的需要记得更仔细地阅读。按照要求,它很容易工作。我已经在回答中更正了要求和代码。这不应该在emacs SE中吗?