Разве это не иронично, как только я публикую это, я найду ответ. Так что, если вы ищете подходящий шаблон для этого, похоже, сработает следующее:
(?: \ S | \ A) [##] + ([A-Za-z0-9 -_] +)
Я собираюсь провести гораздо большее тестирование с этим, чтобы увидеть, есть ли какие-либо крайние случаи, которые выходят за рамки этого выражения, и сообщу, если я их найду.