Utilice las capturas de coincidencia con nombre (para obtener el uso de datos mtch.Groups["Value"].Value
... etc.) para extraer la información según sea necesario.
(?<Value>\d+) -- Get the digits
(?<Other>.+?) -- Capture all text, but minimal (greedy) capture
(?<Key>someword) -- til the keyword here.
Cuando se ejecuta lo anterior ( de lo IgnorePatternWhiteSpace
contrario, elimine los comentarios y únase al patrón para ejecutarlo, como (?<Value>\d+)(?<Other>.+?)(?<Key>someword)
sin opciones de expresiones regulares) ), obtiene los datos para cada par de Datos / Claves y organiza cada uno en una sola coincidencia.
Resultado
Aquí está el resultado (para su segundo ejemplo) que están contenidos en partidos individuales y sus grupos y capturas proporcionan en cada partido:
Match #0
[0]: 43434˽of˽someword
["Value"] → [1]: 43434
→1 Captures: 43434
["Other"] → [2]: ˽of˽
→2 Captures: ˽of˽
["Key"] → [3]: someword
→3 Captures: someword
Match #1
[0]: 12˽anything˽someword
["Value"] → [1]: 12
→1 Captures: 12
["Other"] → [2]: ˽anything˽
→2 Captures: ˽anything˽
["Key"] → [3]: someword
→3 Captures: someword
Match #2
[0]: 2323˽new˽someword
["Value"] → [1]: 2323
→1 Captures: 2323
["Other"] → [2]: ˽new˽
→2 Captures: ˽new˽
["Key"] → [3]: someword
→3 Captures: someword
Visualmente, esto es lo que coincide: