Я согласен со спокойной ([0-9]+)
- это главное, о чем нужно беспокоиться. Однако вы можете заметить, что во многих языках вам нужно использовать обратные ссылки (обычно \\1
или \1
), чтобы получить значение. Например
"ABCDEF34GHIJKL".sub(/^.*?([0-9]+).*$/, "\\1")
Однако лучшим решением в Ruby будет следующее, а также совпадение с несколькими числами в строке.
"ABCDEF34GHIJ1001KL".scan(/[0-9]+/) { |m|
puts m
}
# Outputs:
34
1001
Большинство языков имеют схожие методы. Здесь есть несколько примеров различных языков http://www.regular -expressions.info / tools.html , а также несколько хороших примеров использования обратных ссылок.