如何写 匹配出字符串中间 三位 不是"xyz"的 表达式?
使形如"1234abc56789"
"1234def56789"
"1234ghi56789"
……
的字符串都符合要求,仅"12345xyz6789"不可以匹配?
这只是个例子,我想比这葫芦画个瓢,请赐教
第1个回答 推荐于2016-03-18
举一个例子(JS):
<script type="text/javascript">
var s="<TR class=\"aa\"><TD class=\"aa\">qq<TD></TR>\n<TR class=\"bb\"><TD>ss<TD></TR>\n<TR class=\"cc\"><TD>ff<TD></TR>\n<TR class=\"dd\"><TD>ll<TD></TR>\n<TR class=\"jj\"><TD>kk<TD></TR>\n<TR class=\"ll\"><TD>ii<TD></TR>";
var regex=/<TR\s+class=\"(?!aa|bb|cc).{1,}\">.*?<\/TR>/g;
var result=s.match(regex);
for(var i=0;i<result.length;i++)
alert(result[i]);
</script>
运行结果:
<TR class="dd"><TD>ll<TD></TR>
<TR class="jj"><TD>kk<TD></TR>
<TR class="ll"><TD>ii<TD></TR>
<script type="text/javascript">
var s="<TR class=\"aa\"><TD class=\"aa\">qq<TD></TR>\n<TR class=\"bb\"><TD>ss<TD></TR>\n<TR class=\"cc\"><TD>ff<TD></TR>\n<TR class=\"dd\"><TD>ll<TD></TR>\n<TR class=\"jj\"><TD>kk<TD></TR>\n<TR class=\"ll\"><TD>ii<TD></TR>";
var regex=/<TR\s+class=\"(?!aa|bb|cc).{1,}\">.*?<\/TR>/g;
var result=s.match(regex);
for(var i=0;i<result.length;i++)
alert(result[i]);
</script>
运行结果:
<TR class="dd"><TD>ll<TD></TR>
<TR class="jj"><TD>kk<TD></TR>
<TR class="ll"><TD>ii<TD></TR>
第2个回答 2009-10-01
你可是找出专门匹配“xyz”的字符串,然后把所有匹配的都字符串都过滤掉,剩下的就是你要的字符串了本回答被网友采纳
第3个回答 2009-10-02
1234[^x][^y][^z]5678本回答被提问者采纳