如何我可以使用正則表達式此行正則表達式來刪除SRC = 「*」
<script type="text/javascript" src="../assets/default/js/jquery-1.4.2.min.js">
刪除
src="../assets/default/js/jquery-1.4.2.min.js"
?
如何我可以使用正則表達式此行正則表達式來刪除SRC = 「*」
<script type="text/javascript" src="../assets/default/js/jquery-1.4.2.min.js">
刪除
src="../assets/default/js/jquery-1.4.2.min.js"
?
沒有指定一個正則表達式的方言,但是這一次應該在大多數工作:
src=".*?"
我也認爲這是解決方案,但這返回了不同的東西。您可能不想使用貪婪的'。*' – shinji14 2011-06-07 21:03:46
使用src=".*?"
在更換和用空字符串替換。
這裏是我的刺吧:
s/\s*src="[^"]*"//
那一個還刪除了 'SRC' 之前的任何空白(通過 '\ S *')。
雖然我需要the usual disclaimer about parsing HTML with regex到前言本,下面應該適用於輸入字符串非常相似,你給的例子:
/src=(["']).*?\1/
你沒有說你所使用的正則表達式語言,但更換不管上面的模式與空字符串匹配。
這個版本的主要優勢在於,它可以同時接納src="..."
和src='...'
,但不src="...'
或src='..."
。它也不會被諸如src="...foo='bar'..."
之類的東西拋出,儘管這不太可能出現。
@Ted - 您是對的。我怎麼想的?謝謝,編輯。 – 2011-06-07 21:03:02
解決方案使用sed的
sed 's/\(^.*\) src.*/\1>/'
<script type="text/javascript">
如果你這樣做是爲了防止鏈接到外部腳本時,不要。它不會工作。
src="…"
屬性(法律依據規範我懷疑它;?它的工作原理我敢打賭),瀏覽器解析錯誤等你會得到期待:
<!-- this is even in-spec, except for the made-up attributes fakeout and oops.
a trivial out-of-spec bit of fun: what happens if we drop the final quote?
I bet browsers would still figure it out. -->
<script type="text/javascript" fakeout="src=" oops="" src
="http://example.com/oops.js">
document.write("<script sr" + 'c="http://example.com/oops.js"></script>");
</script>
現在,如果不是你只是想找到所有站點中的外部引用的腳本你維護(例如,看是否一個隨機腳本仍然使用),那麼許多其他答案都可以。
你使用哪種正則表達式? – 2011-06-07 21:09:06