正则表达式不匹配某字符串?
<imgid="a1"src="Images\未命名.jpg"/><imgsrc="Images\未命名.jpg"id="a1"/><imgid=“img1”src="I...
<img id="a1" src="Images\未命名.jpg"/>
<img src="Images\未命名.jpg" id="a1"/>
<img id=“img1” src="Images\未命名.jpg"/>
<img src="Images\未命名.jpg"/>
<img src="Images\未命名.jpg" id="a1" name="a001"/>
这要<img/>这个标签有id=“a1”都不匹配,不要写死,可能img里面有很多属性但id=“a1”属性可以出现在任意位置。求一正则解答:以上5个img只匹配:
<img id=“img1” src="Images\未命名.jpg"/> 和 <img src="Images\未命名.jpg"/>
其他都不匹配! 展开
<img src="Images\未命名.jpg" id="a1"/>
<img id=“img1” src="Images\未命名.jpg"/>
<img src="Images\未命名.jpg"/>
<img src="Images\未命名.jpg" id="a1" name="a001"/>
这要<img/>这个标签有id=“a1”都不匹配,不要写死,可能img里面有很多属性但id=“a1”属性可以出现在任意位置。求一正则解答:以上5个img只匹配:
<img id=“img1” src="Images\未命名.jpg"/> 和 <img src="Images\未命名.jpg"/>
其他都不匹配! 展开
3个回答
展开全部
js 的话如下可以测试:
<html>
<head>
<!--
将此内容保存为 html 文件,浏览器允许运行脚本进行测试。
-->
<script type="text/javascript">
function check()
{
var str, str2, str3;
var re;
re = /(<img(?!.*id="a1").*\/>)/g;
str = document.getElementById("txtInput").value;
str3 = "";
while ((str2 = re.exec(str)) != null)
{
str3 = str3 + "\n" + str2[0];
}
if (str3.length > 0)
{
alert("提取到:" + str3);
}
else
{
alert("没有提取到内容。");
}
}
</script>
</head>
<body>
输入:<br>
<textarea id="txtInput" cols ="50" rows = "10">
<img id="a1" src="Images\未命名.jpg"/>
<img src="Images\未命名.jpg" id="a1"/>
<img id=“img1” src="Images\未命名.jpg"/>
<img src="Images\未命名.jpg"/>
<img src="Images\未命名.jpg" id="a1" name="a001"/>
</textarea>
<br>
<button type="button" onclick="check()">正则检查</button>
</form>
</body>
</html>
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
说的太混乱了,你的具体要求明确一下
追问
意思就是只要 里面有属性是id=“a1”的都不匹配
那么上面的5个img只有:
和
这2个符合我的要求。因为一个id不等于a1,一个没有id属性
追答
(?i)]*?id=(['""]?)[^'""]*?a1[^'""]*?\1)[^>]*?>
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询