我可以在HTML5模式属性中使用包含&符号的正则表达式吗?

Per*_*son 4 regex html5 escaping pattern-matching ampersand

在HTML5 webapp中提交表单之前,我使用以下电子邮件验证:

<input id="mail" name="mail" type="email" value="" required  placeholder="Email" 
pattern="[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?"> 
Run Code Online (Sandbox Code Playgroud)

但是,正则表达式中的&符号似乎使HTML无效.检查http://validator.w3.org/我收到以下错误消息:

& did not start a character reference. 
(& probably should have been escaped as &amp;.)
Run Code Online (Sandbox Code Playgroud)

甚至可以在正则表达式中逃避&符号而不会弄乱它吗?在这种情况下验证器是正确的吗?

Fir*_*Dib 6

例如,您可以使用十六进制值: \x26

见这里:http://regex101.com/r/bF4bZ3

换句话说,[....$%&'*....]会成为[....$%\x26'*....].其余的都做同样的事情.