如果匹配包含meta
或og:image
?
我试过这个正则表达式:
(?!og\:image.*http:\/\/)((http:)(.*\.abc.com))
应匹配:
<% Response.Redirect("http://campaign.abc.com/en/") %>
<meta property="og:image" content="http://campaign.abc.com/aaa/cookie.jpg" />
但不是:
<a href="http://campaign.abc.com/en/"> abc.com </a>
答案 0 :(得分:0)
假设“meta”和“og:image”位于标签“&lt;&gt;”内,您可以使用负面向前看。
这取决于你将使用什么应用程序来应用正则表达式,这是一个通过javascript的示例,它在一场比赛后停止:
正则表达式:
/<(?!.*(meta|og:image)).*>/g
代码:
var subject = $('#content').val();
var myArray = /<(?!.*(meta|og:image)).*>/g.exec(subject);
console.log(myArray);
<!DOCTYPE html>
<html>
<body>
<textarea rows="4" cols="50" id="content">
<meta property="og:image" content="http://campaign.abc.com/aaa/cookie.jpg" />
<property="og:image" content="http://campaign.abc.com/aaa/cookie.jpg" />
<% Response.Redirect("http://campaign.abc.com/en/") %>
<meta property="og:image" content="http://campaign.abc.com/aaa/cookie.jpg" />
<property="og:image" content="http://campaign.abc.com/aaa/cookie.jpg" />
</textarea>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
</body>
</html>