Expressão regular para corresponder ao último número em uma string
Preciso extrair o último número que está dentro de uma string. Estou tentando fazer isso com regex e lookaheads negativos, mas não está funcionando. Este é o regex que eu tenho:
\d+(?!\d+)
E estas são algumas seqüências de caracteres, apenas para lhe dar uma idéia e qual deve ser o regex:
ARRAY[123] matches 123
ARRAY[123].ITEM[4] matches 4
B:1000 matches 1000
B:1000.10 matches 10
E assim por diante. A regex corresponde aos números, mas todos eles. Não entendo por que o lookahead negativo não está funcionando. Alguém quer explicar?