2013-08-24 38 views
0

我一直在Sublime Text中進行大量查找和替換,並決定需要學習RegEx。到現在爲止還挺好。我無論如何都不是專家,但我很快就學會了。在Sublime Text中替換開放式HTML正則表達式匹配

麻煩在於知道如何替換開放式HTML匹配。

例如,我想查找所有沒有role屬性的<button>。 一些黑客和搜索後,我想出了以下模式(see in action):

<button(?![^>]+role).*?>(.*?)

太好了!除了在我工作的代碼庫中,還有很多結果。
如何在<button末尾註入role=button,在開標籤關閉>之前安全地更換結果?

期望的結果
前:<button type="button">
後:<button type="button" role="button">

前:<button class="btn-lg" type="button">
後:<button class="btn-lg" type="button" role="button">

回答

1

可以結束>之前捕捉一切,並把它放回去,在插入前role=button

<(button(?![^>]+role).*?)> 

這會捕獲標記中的所有內容。

替換方式:

<$1 role="button"> 

$1包含第一個正則表達式捕捉到的內容。

查看updated regexr

+0

嗚呼!謝謝! –

相關問題