代码之家  ›  专栏  ›  技术社区  ›  Sky Blue

将电子邮件javascript regex更改为java

  •  -1
  • Sky Blue  · 技术社区  · 7 年前

    我需要解析gmail api中的电子邮件头(from,to),并将其分开示例:“John Doe”变成name:“John Doe”和email:“无名氏@gmail.com". 我已经找到了解决方案,不过是javascript。我需要把它转换成java代码。我在将javascript正则表达式更改为java时遇到问题:

    const regex = /(([\w,\"\s]+)\s)?<?([^@<\s]+@[^@\s>]+)>?,/g;
    

    String regex = "(([\\w,\\"\\s]+)\\s)?<?([^@<\\s]+@[^@\\s>]+)>?";
    

    我试图删除第一个“/”和“,/g”字符,并用“\\”字符替换所有“\”,但在regex中仍然出现错误。

    这不是 Print Hello Question

    1 回复  |  直到 7 年前
        1
  •  0
  •   Ricky Mo    7 年前

    你需要逃离 " 否则它也会关闭字符串。 "(([\\w,\\\"\\s]+)\\s)?<?([^@<\\s]+@[^@\\s>]+)>?"

    正如阿玛丹所说, " 不需要在regex中转义,因此可以 "(([\\w,\"\\s]+)\\s)?<?([^@<\\s]+@[^@\\s>]+)>?"