【发布时间】:2012-01-08 04:38:06
【问题描述】:
我的文字如下:
<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>
每个<font color =#0B610B>...</font> 中都有一个小写字母紧跟一个大写字母。例如:
<font color =#0B610B> Word word wordWord word.<br></font>
我想通过如下拆分它们来纠正这个错误(即:在它们之间添加一个冒号和一个空格):
<font color =#0B610B> Word word word: Word word.<br></font>
到目前为止,我一直在使用:
(<font color =#0B610B\b[^>]*>)(.*?</font>)
选择<font color =#0B610B>...</font>的每个实例,它可以很好地找到<font color =#0B610B>...</font>的一个实例。
但是当我使用时:
(<font color =#0B610B\b[^>]*>)(.*?[a-z])([A-Z].*?</font>)
不管其他字体颜色标签如何,它都会找到但选择一行中<font color =#0B610B>...</font>之间的所有内容,并替换其他不需要的实例。
我希望它找到并替换每个特定标签对中的错误:<font color =#0B610B>...</font>,而不是抓取从 <font color =#0B610B> 开始并以 </font> 结束的所有内容
有没有正则表达式可以解决这个问题?非常感谢。
【问题讨论】:
标签: regex text grep textwrangler