My text is as below:
<font size=+2 color=#F07500><b> [ba]</font></b>
<ul><li><font color =#0B610B> Word word wordWord word.<br></font></li></ul>
<ul><li><font color =#F07500> Word word word.<br></font></li></ul>
<ul><li><font color =#0B610B> Word word word wordWord.<br></font></li></ul>
<ul><li><font color =#0B610B> WordWord.<br></font></li></ul>
<br><font color =#E41B17><b>UPPERCASE LETTERS</b></font>
<ul><li><font color =#0B610B> Word word wordWord word.<br></font><br><font color =#E41B17><b>PhD and dataBase</b></font> </li></ul>
<font color =#0B610B> Word word word.<br></font></li></ul><dd><font color =#F07500> »» Word wordWord word.<br></font>
There is a lowercase letter immediately followed by an uppercase in each of the <font color =#0B610B>...</font>
. For example:
<font color =#0B610B> Word word wordWord word.<br></font>
I want to correct this error by splitting them as follows (i.e: adding a colon and a space between them):
<font color =#0B610B> Word word word: Word word.<br></font>
So far, I have been using:
(<font color =#0B610B\b[^>]*>)(.*?</font>)
to select each of the instances of <font color =#0B610B>...</font>
, and it works fine in finding one instance by one instance of <font color =#0B610B>...</font>
.
But when I use:
(<font color =#0B610B\b[^>]*>)(.*?[a-z])([A-Z].*?</font>)
it does find but selects everything between <font color =#0B610B>...</font>
in one line regardless of other font-color tags, and replaces other unwanted instances.
I want it to find and replace error in each of this specific pair of tags: <font color =#0B610B>...</font>
, not grabbing everything starting by <font color =#0B610B>
and ending in </font>
Are there any regular expressions to solve this problem? Many thanks in advance.