我的文字如下:查找小寫緊接着大寫
<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>
結束是否有任何正則表達式來解決這個問題?提前謝謝了。
非常感謝,數學咖啡。我想這會幫助我,因爲它似乎找到了我想要的東西,但是當被'\ 1 \ 2:\ 3 \ 4'取代時,匹配變成了'單詞:xWord'。我不知道爲什麼字符** x **在這裏添加(** x **可以是任何字母)。 – 2012-01-08 12:45:02
這是因爲有一個額外的內部捕獲括號,'\ 3'包含單個字符。請注意'\ 2'環繞'\ 3',所以用'\ 1 \ 2:\ 4'替換。 – 2012-01-08 23:36:11
棒極了!你已經節省了我的一天,數學咖啡。它現在像一個魅力。非常感謝。 – 2012-01-09 09:33:58