Для группировки результатов необходимо использовать скобки:
^#(\d)_(\w+):(.+)
(заметьте, я использовал +
, но *
тоже подойдет, разница в +
требует как минимум один символ*
не будет соответствовать ни одному).
Что касается сопоставления каждой строки, то она также ведет себя как ожидалось.В зависимости от языка, на котором вы работаете, обычно есть методы для повторения поиска по всей входной строке и возврата всех совпадений.
В зависимости от используемого вами механизма регулярных выражений вы можете назначитьимена для групп, а также.Если это так, вы можете сделать это так
^#(?<id>\d)_(?<field>\w+):(?<value>.+)