将电子邮件 javascript 正则表达式更改为 java

我需要从 gmail api 解析电子邮件标头(from, to)并将其分开,例如:“John Doe”成为姓名:“John Doe”和电子邮件:“john.doe@gmail.com”。我已经找到了解决方案,但它是在 javascript 中。我需要将其转换为java代码。我在将 javascript regex 更改为 java 时遇到问题:

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

这是我在 Java 中的正则表达式:

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

我尝试删除第一个 '/' 和 ',/g' 字符,并将所有 '\' 替换为 '\\' 字符,但仍然在正则表达式中出错。

这不是Print Hello Question的副本,因为问题在于匹配正则表达式中的字符而不是打印它们。我已经知道 Java 中的“\”“make”。


繁星淼淼
浏览 266回答 1
1回答

翻翻过去那场雪

你也需要转义",否则它会关闭字符串。&nbsp;"(([\\w,\\\"\\s]+)\\s)?<?([^@<\\s]+@[^@\\s>]+)>?"正如阿马丹所说,"不需要在正则表达式中转义,所以它可以是"(([\\w,\"\\s]+)\\s)?<?([^@<\\s]+@[^@\\s>]+)>?"
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java