title: Replacing German umlauts inside a specific attribute in heading HTML tags
body: <p>I have a large HTML file with many lines like</p>
  
  <pre><code>&lt;h1 id="anwendungsfälle-und--funktionen"&gt;Anwendungsfälle und -funktionen&lt;/h1&gt; 
  &lt;h1 id="öl"&gt;Öl&lt;/h1&gt;
  </code></pre>
  
  <p>I need to replace all umlaut characters (ü,ö,ä) but only those between &lt;> brackets (so only for header id, nowhere else.</p>
  
  <pre><code>&lt;h1 id="anwendungsfaelle-und--funktionen"&gt;Anwendungsfälle und -funktionen&lt;/h1&gt; 
  &lt;h1 id="oel"&gt;Öl&lt;/h1&gt;
  </code></pre>
  
  <p>Ids may contain numbers, single and double - charcters. I have run out of ideas how to build a Java regex to match these ids.</p>
  
  <p>I have tried something like</p>
  
  <pre><code>(&lt;h)\d\s(id=")[A-Za-z0-9]*([-]{1}[A-Za-z0-9]*)*("&gt;)
  </code></pre>
  
  <p>but this does not work (I know it's not Java regex, just an example).</p>