0

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

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

or 一开始是做什么的?为什么是两个竖线字符?

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

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

非常感谢你的帮助!

约沙

4

1 回答 1

4

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

于 2013-03-09T20:23:01.093 回答