I need to match all of these opening tags:
<p>
<a href="foo">
But not self-closing tags:
<br />
<hr class="foo" />
I came up with this and wanted to make
no, this is one of the worst answers on Stack Overflow
OP had a specific question to capture opening tags. The thing OP asked about can be done with regular expressions. It is true that arbitrarily nested languages like HTML cannot generally be parsed with regular expressions, but that is not what OP asked about.
This is StackOverflow after all. Your question is wrong. Your problem is wrong. You are wrong. I am right. Thread locked. Go read this other post that is totally unrelated to your problem I’ve decided isn’t the problem you’re facing because. I. Am. Right.
The thing with Windows is that the three magical commands (sfc, that DISM tool, fixboot) will usually fix most weird OS problems. To the point where any Windows troubleshooting session should include either the results of the first two, or instructions to use them.
Once SFC and DISM can't fix your install, you reinstall Windows. There are alternatives, but if you'd know them you wouldn't be asking random Windows users on a forum. You can figure out a lot by enabling various tracing and logging features, listing open file handles and tracking file system calls, but the moment you need to take out sysmon you're either in for a weekend of troubleshooting or wasting your time.
Similarly, there are oneliners for Linux that'll reinstall every package installed on the system and that has helped me recover my broken systems several times.
Magic may be an overstatement. I would be shocked if any of them fixed even 0.1% of the problems posted to Microsoft’s joke of a support forum where they were presented as solutions.
You can't parse every html opening tag with regex, because a html opening tag doesn't have a set structure. How would you match, with regex, this opening tag?
<mytag myattribute="<value of \"myattribute\">" >
It can be done with simple regex of the kind proposed in various answers there iff the html is known to be limited to the subset of html where that sort of thing can easily be made to work. The question does not tell us whether or not that is the case, so everyone is free to make their own assumptions and argue as if they know what's going on.