我想匹配字符串中的邮件地址。那没问题。但出于任何原因,我无法排除特殊的 html 标签和属性。
我的邮件正则表达式:
[!#\$%&'\*\+\-\/0-9=\?a-z\^_`\{\}\|~]*(?:\\[\x00-\x7F][!#\$%&'\*\+\-\/0-9=\?a-z\^_`\{\}\|~]*)*(?:\.[!#\$%&'\*\+\-\/0-9=\?a-z\^_`\{\}\|~]*(?:\\[\x00-\x7F][!#\$%&'\*\+\-\/0-9=\?a-z\^_`\{\}\|~]*)*)*@[a-z0-9](?:[a-z0-9-]*[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]*[a-z0-9])?)*\.[a-z]{2,}
现在,如果邮件地址在输入字段中,我不想匹配:
<input type="xxx" value"foo@bar.tld">
我也不想匹配,如果它在标题标签中
<title>foo@bar.tld
也不包含在<style
and<script
我尝试了这个前瞻性的东西,但我产生了非法的正则表达式,或者它不起作用。