【问题标题】:Double Pipe Character in emacs lisp regexpemacs lisp regexp中的双管道字符
【发布时间】:2013-03-10 04:23:01
【问题描述】:

我正在尝试理解这个正则表达式 我很难理解这种模式:

\\(\\||.+?\\)

or 开头的作用是什么?为什么是两个竖线字符?

它是一个正则表达式的一部分,旨在匹配 Paul Sexton 的 org-drill 中括号中的任何内容(用于完形填空删除)。

"\\(\\[[[:cntrl:][:graph:][:space:]]*?\\)\\(\\||.+?\\)\\(\\]\\)"

非常感谢您的帮助!

乔夏

【问题讨论】:

    标签: regex emacs elisp


    【解决方案1】:

    第一个管道字符被转义,因此它成为交替的正则表达式字符。第二个管道字符没有转义,因此它表示要匹配的文本中的文字管道字符。总的来说,您提到的第一个正则表达式的意思是“不匹配任何内容,或者一个文字管道字符后跟一个或多个任何其他字符,非贪婪匹配。”

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多