2009-01-08 107 views
0

我有以下的正則表達式分組正則表達式反向引用

id=(.*?) | id="(.*?)" 

這樣做的原因是我想從瀏覽器的DOM的ID使用JavaScript來代替。 IE,但從元素屬性去除引號,因爲它似乎不需要它們在DOM中

我遇到的問題是,來自每個備用語句的反向引用位於單獨的組($ 1和$ 2)中,因爲匹配只有一個OR另一個我可以將反向引用作爲單個反向引用返回嗎?

編輯:

<div id="test1" /><div id=test2 /> 

將匹配如下

match   | $1 | $2 
-------------------------------- 
    id="test1" | test1 | 
    id=test2  |  | test2 

我只是希望兩個反向引用被添加到$ 1

+0

你可以嗎發表一個顯示問題的例子? – 2009-01-08 12:01:45

+0

已編輯問題 – Sheff 2009-01-08 12:09:42

回答

0

怎麼樣:

id="?(.*?)"? 

(可能是那個。應該是[^「] - 我沒有測試)

+0

這隻會匹配id =「而錯過其他 – Sheff 2009-01-08 12:08:57

0

我會使用

id\s*=\s*("[^"]*"|'[^']*'|[^\s>]*) 

這將匹配

id="foo" 
id='bar' 
id=baz 

但只獲得屬性值,如果它被引號包圍,則必須在開始/結束時去除"'

相關問題