re = /^((?:\£(?:[1-9]\d{0,2}(?:,\d{3})*|[0-9]+)?(?:\.\d{1,2})?|[^\n.])+)\.(.*)/m
str = 'This string should not split as the only periods that appear are here £19.99 and also here.
This string should split right here. As the period is not part of a price or at the end of the string.
There is a price in this string £19.99, but it should only split at this point. As I want it to ignore periods in a price. '
subst = '\\n'
result = str.gsub(re, subst)
# Print the result of the substitution
puts result
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for Ruby, please visit: http://ruby-doc.org/core-2.2.0/Regexp.html