# If you'd like to omit non-matching lines from the result; add ';d' to the end of the expression.
sed -E 's/^[^\d+-]*([+-]?)\s*+(\d++(?:\.\d+)?)|\G[^\d+-]*(?:([+-])\s*+((?2))|((?2)))|[+-]++|[^+-]++/${2:+$1$2}${3:+$3$4}${5:++$5}/g;t' <<< " Lorem ipsum dolor sit amet.
Nullam 000 ut finibus 111 lectus.
Praesent 222 eu 333 sem lorem.
Fusce elementum 444 gravida 555 luctus.
Sed non \"accumsan\" - 777 lorem!
1. Vivamus at mauris mi.[1]
2. Duis ac faucibus elit.[2][3]
3. Sed sed 'tempor' diam.[4,5]
Vivamus 2024-12-21 tincidunt tristique dolor.
\"Morbi vel blandit augue?\"
Morbi eu tortor 25.25 ligula."
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 SED, please visit: https://www.gnu.org/software/sed/manual/html_node/The-_0022s_0022-Command.html