title: How to match version strings against a minimum version number using a regex and no other packages?
body: <p><em><strong>Note</strong>: This question is <em>not</em> about available libraries which parse version strings or about how to write regex pattern in general.
  I have to feed a pattern into an API call so using another library is not an option for me.</em></p>
  <p>I need to match a version string like e.g. <code>&quot;9.3&quot;</code> or <code>&quot;12.5&quot;</code> against a minimum version number <code>&quot;11.2&quot;</code>. I.e. <code>&quot;9.9&quot;</code> or <code>&quot;9.10&quot;</code> must not match while <code>&quot;11.2&quot;</code>, <code>&quot;11.10&quot;</code> or <code>&quot;20.0&quot;</code> should.</p>
  <p>In Python <code>re</code> is there a <em>reasonable</em> way to accomplish this? Using approaches like  <a href="https://stackoverflow.com/questions/8592488/regex-how-can-i-match-all-numbers-greater-than-49">this one</a> lead to an expression <a href="https://regex101.com/r/QRF2gl/1" rel="nofollow noreferrer">like this one</a>:</p>
  <pre><code>r&quot;^(([2-9]\d|1[2-9])\.\d{1,}|11\.([2-9]|\d{2,}))(\.\d+)*$&quot;
  </code></pre>
  <p>which is hard core to read and <em>zero</em> flexible.</p>
  <p>In 2020 isn't there an easier or more generic way to deal with decimal numbers (not digits) in regular expressions in Python?</p>
  <p>Maybe expression generators which take a more abstract description and generate expressions?</p>