Heinz: regulärer Ausdruck

Beitrag lesen

<[^>]+>

so ganz funktioniert der Ausdruck leider nicht.

cat test.txt
<b>
<h1>
&lt;h1&gt;
&lt;b&gt;
&lt;h1 style=&quot;&quot;&gt;
&lt; test &gt;
<b style="...">test</b>
</b>
h1 < h2 h2 > h3

grep "&lt;[^>]+&gt;" test.txt
&lt;h1&gt;
&lt;b&gt;
&lt;h1 style=&quot;&quot;&gt;
&lt; test &gt;

"&lt; test &gt;" sollte er nicht finden

Wie schliesse ich "&gt" aus? [^>] ist leider nicht ganz richtig.

Wie kann/muss ich den regulären Ausdruck erweitern, dass nach &lt; und vor &gt; kein Leerzeichen stehen darf?

der nachfolgende Ausdruck findet leider zu wenig
grep "&lt;[^\ ][^>]+[^\ ]&gt;" test.txt
&lt;h1 style=&quot;&quot;&gt;

Heinz