Bei der Verwendung einheitlicher Formatierungsregeln von Literaturangaben können die einzelnen Bestandteile mittels eines Parsers automatisch ermittelt werden.

Zunächst werden Leerzeichen normalisiert.

Die einzelnen Tokens sind folgende

<nowiki>
 SP => "[ \t]*",
 LINK => "\\[\\[[^\\]]+\\]\\]"  # (§10) TODO: add in parser or lexer

# Verfasser (§1)
 NAME  => "([^(,]+",
 JOB   => "[(][^)]+[)]",
 ETAL  => "et al[.]",

# Titel (§2) 
  TITLE => "''([^']|'[^'])+''[.]?",  # don't be pedantic: dot at the end may be omitted

# "In:" (§3)
  IN => "[Ii]n:",
   
# Datum (§4)
  # $rEtwa  = "(um\s+|ca[.]?[ ]+|etwa[ ]+)"
  # $rDay   = "(([1-9]|[12][0-9]|30|31)[.])"
  # $rMonth = "(Jan|Januar|Feb|Februar|März|Maerz|....)"
  # $rYear  = ...
  # $rOJahr = "o[.]\s*J(ahr|.)?\s*"
  DATUM => "($rEtwa?$rDay?[ ]*$rMonth[ ]*$rYear" # noch unvollständig
  
# Auflage (§5)
  AUFLAGE => "[1-9][0-9]*[.]\s+Aufl([.]|age)"

# Verlag und Ort (§6)
  ORT => "[^/,]+(/[^/,])*(\s*\\[u[.]A[.]\\])?"
  VERLAG => "[^,]+"

# Fortlaufende Werke (§7)
 ...

# Seitenzahl (§8)
  SEITEN => "S[.][ ]+[0-9]+(ff?[.]?|[-–][ ]+[0-9]+)?"
<nowiki>
Bearbeiten