2017-06-01 188 views
0

我有正則表達式匹配href='javascript:...'href="javascript:...",但我也想匹配一個href=javascript:...沒有引號。匹配正則表達式href = javascript

我該怎麼辦?

我的正則表達式:我想匹配/\bhref\s*=[^"']*(?:"([^"]*)"|'([^']*)')/gi

字符串:

<a href='javascript:alert(1)' sometags>click me</a> 
<a href="javascript:alert(1)" sometags>click me</a> 
<a href=javascript:alert(1) sometags>click me</a> 

的代碼示例:

while((match = reg.exec(s)) !== null) { 
    // In each cases I want to get javascript:alert(1) in match 
} 
+0

使報價可選的'「?' – Barmar

+0

...或刪除這些'\ bhref \ S * = \ S *' – revo

回答

0

添加另一種情況你的選擇。如果沒有報價,則直到下一個空格或>

/\bhref\s*=\s*(?:"([^"]*)"|'([^']*)'|([^\s>]*))/gi 

DEMO