我如何删除
src="../assets/default/js/jquery-1.4.2.min.js"
从这一行开始
<script type="text/javascript" src="../assets/default/js/jquery-1.4.2.min.js">
使用正则表达式?
答案 0 :(得分:2)
您没有指定正则表达式方言,但这个方言应该适用于大多数:
src=".*?"
答案 1 :(得分:1)
虽然我需要用the usual disclaimer about parsing HTML with regex作为序言,但以下内容适用于与您提供的示例非常相似的输入字符串:
/src=(["']).*?\1/
你没有说你正在使用什么正则表达式语言,但用空字符串替换上述模式匹配的任何内容。
此版本的主要优点是它将接受src="..."
和src='...'
,但不接受src="...'
或src='..."
。它也不会被src="...foo='bar'..."
之类的东西抛弃,尽管不太可能出现。
答案 2 :(得分:1)
如果您这样做是为了防止链接到外部脚本,请不要这样做。它不起作用。
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>
现在,如果您只是试图在您维护的站点中找到所有外部引用的脚本(例如,查看是否仍然使用随机脚本),那么许多其他答案都可以。
答案 3 :(得分:0)
使用src=".*?"
替换并替换为空字符串。
答案 4 :(得分:-1)
这是我的抨击:
s/\s*src="[^"]*"//
那个也删除'src'之前的任何空格(通过'\ s *')。
答案 5 :(得分:-1)
使用sed的解决方案
sed 's/\(^.*\) src.*/\1>/'
<script type="text/javascript">