static STUDENT_NUMBER_RE: LazyLock<Regex>Expand description
Student-number-shaped digit runs. The id shapes come first because the regex crate has no
lookaround: leftmost-first alternation is the only way to say “digits not part of an id”. The
word boundaries keep the digit branch off longer numbers such as millisecond timestamps.
Known cost of the prefixed branch: a student number hyphen-joined to a word,
person-012345678, survives. A bare digit run, the shape Suotar’s messages use, still goes.