我正在尝试实现此正则表达式来验证电子邮件:
([-!#-'*+/-9=?A-Z^-~]+(\.[-!#-'*+/-9=?A-Z^-~]+)* |"([]!#-[^-~\t]|(\\[\t -~]))+")@([-!#-'*+/-9=?A-Z^-~] +(\.[-!#-'*+/-9=?A-Z^-~]+)*|\[[\t -Z^-~]*])
因此,我添加了一个额外的 \
来转义正则表达式中现有的 \
,并且还转义了 "
并最终得到以下结果:
([-!#-'*+/-9=?A-Z^-~]+(\\.[-!#-'*+/-9=?A-Z^-~]+) *|\"([]!#-[^-~\\t]|(\\\\[\\t -~]))+\")@([-!#-'*+/-9 =?A-Z^-~]+(\\.[-!#-'*+/-9=?A-Z^-~]+)*|\\[[\\t -Z^-~]*])
现在我收到错误:
索引 145 附近的未封闭组
有什么想法吗?
最佳答案
您错过了两个字符的转义:“[”和“]”。试试这个:
"([-!#-'*+/-9=?A-Z^-~]+(\\.[-!#-'*+/-9=?A-Z^-~]+)*|\"(\\[\\]!#-[^-~ \\t]|(\\\\[\\t -~]))+\")@([-!#-'*+/-9=?A-Z^-~]+(\\.[-!#-'*+/-9=?A-Z^-~]+)*|\\[[\\t -Z^-~]*])"
关于java - 为什么java对此正则表达式给出 "Unclosed Group"错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30041167/