2011-05-16 18 views
1

我有以下腳本:正則表達式的調整:卸下支架

$(".Text").contents().each(function() { 
    $(this).replaceWith($(this).text() 
      .replace(/\[([^\]]*)\]/g, '<span class="IT_Symbol" style="display:inline;border: 1px solid blue;">$&</span>') 
     ); 
    }); 

它發現方括號之間的任何東西,並用類包裝它。元素樣式是這樣我可以看到它的工作,因爲這個腳本是由雙擊觸發的。目前它可以找到方括號之間的所有內容,包括方括號本身。如果可能的話,我想刪除括號,但保持介於兩者之間。

+0

@ianace如果您要編輯代碼,請不要將其變爲非法的Javascript! – lonesomeday 2011-05-16 17:40:16

回答

2

您將替換爲$&,這是整個匹配的文本。如果替換爲$1,則它僅與第一個組匹配,即([^\]]*),因此不包括括號。

$(".Text").contents().each(function() { 
    $(this).replaceWith($(this).text().replace(/\[([^\]]*)\]/g, '<span class="IT_Symbol" style="display:inline;border: 1px solid blue;">$1</span>')); 
});