128 lines
3.5 KiB
Org Mode
128 lines
3.5 KiB
Org Mode
|
If you look for the value of =org-link-any-re=, you'll see this beauty:
|
||
|
|
||
|
#+begin_example
|
||
|
"\\(\\[\\[\\(\\(?:[^][\\]\\|\\\\\\(?:\\\\\\\\\\)*[][]\\|\\\\+[^][]\\)+\\)]\\(?:\\[\\([^z-a]+?\\)]\\)?]\\)\\|\\(<\\(bibtex\\|elisp\\|f\\(?:ile\\(?:\\+\\(?:\\(?:emac\\|sy\\)s\\)\\)?\\|tp\\)\\|h\\(?:elp\\|ttps?\\)\\|id\\|mai\\(?:lto\\|rix\\)\\|news\\|org-ql-search\\|shell\\):\\([^>
|
||
|
]*\\(?:
|
||
|
[ ]*[^>
|
||
|
][^>
|
||
|
]*\\)*\\)>\\)\\|\\(\\(?:\\<\\(?:\\(bibtex\\|elisp\\|f\\(?:ile\\(?:\\+\\(?:\\(?:emac\\|sy\\)s\\)\\)?\\|tp\\)\\|h\\(?:elp\\|ttps?\\)\\|id\\|mai\\(?:lto\\|rix\\)\\|news\\|org-ql-search\\|shell\\)\\):\\(\\(?:[^][
|
||
|
()<>]\\|(\\(?:[^][
|
||
|
()<>]\\|([^][
|
||
|
()<>]*)\\)*)\\)+\\(?:[^[:punct:]
|
||
|
]\\|/\\|(\\(?:[^][
|
||
|
()<>]\\|([^][
|
||
|
()<>]*)\\)*)\\)\\)\\)\\)"
|
||
|
#+end_example
|
||
|
|
||
|
[[https://github.com/mattiase/xr][xr]] to the rescue:
|
||
|
|
||
|
#+begin_src elisp
|
||
|
(pp-to-string (xr org-link-any-re))
|
||
|
#+end_src
|
||
|
|
||
|
#+RESULTS:
|
||
|
#+begin_example
|
||
|
(or
|
||
|
(group "[["
|
||
|
(group
|
||
|
(one-or-more
|
||
|
(or
|
||
|
(not
|
||
|
(any "[\\]"))
|
||
|
(seq "\\"
|
||
|
(zero-or-more "\\\\")
|
||
|
(any "[]"))
|
||
|
(seq
|
||
|
(one-or-more "\\")
|
||
|
(not
|
||
|
(any "[]"))))))
|
||
|
"]"
|
||
|
(opt "["
|
||
|
(group
|
||
|
(+\? anything))
|
||
|
"]")
|
||
|
"]")
|
||
|
(group "<"
|
||
|
(group
|
||
|
(or "bibtex" "elisp"
|
||
|
(seq "f"
|
||
|
(or
|
||
|
(seq "ile"
|
||
|
(opt "+"
|
||
|
(or "emac" "sy")
|
||
|
"s"))
|
||
|
"tp"))
|
||
|
(seq "h"
|
||
|
(or "elp"
|
||
|
(seq "ttp"
|
||
|
(opt "s"))))
|
||
|
"id"
|
||
|
(seq "mai"
|
||
|
(or "lto" "rix"))
|
||
|
"news" "org-ql-search" "shell"))
|
||
|
":"
|
||
|
(group
|
||
|
(zero-or-more
|
||
|
(not
|
||
|
(any "\n>")))
|
||
|
(zero-or-more "\n"
|
||
|
(zero-or-more
|
||
|
(any " "))
|
||
|
(not
|
||
|
(any " \n >"))
|
||
|
(zero-or-more
|
||
|
(not
|
||
|
(any "\n>")))))
|
||
|
">")
|
||
|
(group bow
|
||
|
(group
|
||
|
(or "bibtex" "elisp"
|
||
|
(seq "f"
|
||
|
(or
|
||
|
(seq "ile"
|
||
|
(opt "+"
|
||
|
(or "emac" "sy")
|
||
|
"s"))
|
||
|
"tp"))
|
||
|
(seq "h"
|
||
|
(or "elp"
|
||
|
(seq "ttp"
|
||
|
(opt "s"))))
|
||
|
"id"
|
||
|
(seq "mai"
|
||
|
(or "lto" "rix"))
|
||
|
"news" "org-ql-search" "shell"))
|
||
|
":"
|
||
|
(group
|
||
|
(one-or-more
|
||
|
(or
|
||
|
(not
|
||
|
(any " \n ()<>[]"))
|
||
|
(seq "("
|
||
|
(zero-or-more
|
||
|
(or
|
||
|
(not
|
||
|
(any " \n ()<>[]"))
|
||
|
(seq "("
|
||
|
(zero-or-more
|
||
|
(not
|
||
|
(any " \n ()<>[]")))
|
||
|
")")))
|
||
|
")")))
|
||
|
(or
|
||
|
(not
|
||
|
(any " \n " punct))
|
||
|
"/"
|
||
|
(seq "("
|
||
|
(zero-or-more
|
||
|
(or
|
||
|
(not
|
||
|
(any " \n ()<>[]"))
|
||
|
(seq "("
|
||
|
(zero-or-more
|
||
|
(not
|
||
|
(any " \n ()<>[]")))
|
||
|
")")))
|
||
|
")")))))
|
||
|
#+end_example
|