Oracle: REGEXP_LIKE: Strings with angle brackets aren't found (whether they are escaped or not)
select 1 from dual where
regexp_like('%.,"''?!:#$&amp;)(*;+-/&lt;&gt;=@[]\^_{}|~', 
            '%\.,"''\?!:#\$&amp;\)\(\*;\+-/&lt;&gt;=@\[\]\\\^_\{\}\|~');


This gives, as expeced, 1.

You must escape .?$)(*+[]\^{} and |

You do not need to escape , (but it works nonetheless):

select 1 from dual where
regexp_like('%.,"''?!:#$&amp;)(*;+-/&lt;&gt;=@[]\^_{}|~', 
            '%\.\,"''\?!:#\$&amp;\)\(\*;\+-/&lt;&gt;=@\[\]\\\^_\{\}\|~');


This works:

select 1 from dual where
regexp_like('&lt;div&gt;Lets check for an &lt;strong&gt;inner&lt;/strong&gt; tag :)&lt;/div&gt;', 
            '&lt;(\w+)&gt;[^&lt;]*&lt;/\1&gt;');


Gives 1. So does what you ask for:

select 1 from dual where
regexp_like('&lt;p&gt;Lets get &lt;i&gt;this&lt;/i&gt;&lt;div class="example"&gt;example going :)&lt;/div&gt;&lt;/p&gt;', 
            '&gt;&lt;div class=');


For which you don't even need regex, by the way.

EDIT:
By guess is, that you are using a programming language to build your SQL. In that case, it is highly likely that you are not properly escaping your . If you want the SQL to include '\.' (an escaped .), you need to escape it for your lanuage too: '\\.'
Likewise, if you want '\\\^' you'd need to write '\\\\\\^'