我有两个正则表达式,一个从 csv 字符串中提取用户名,另一个提取电子邮件。
字符串格式是这样的:
String s = "name lastname (username) <mail@mail.something.dk>; name lastname (username) <mail@mail.something.dk>; name lastname (username) <mail@mail.something.dk>";
我的正则表达式的代码是这样的。
Pattern pattern = Pattern.compile("(?<=\\()[^\\)]+");
Matcher matcher = pattern.matcher(s);
Pattern pattern2 = Pattern.compile("((?<=<)[^>]+)");
Matcher matcher2 = pattern2.matcher(s);
while (matcher.find() && matcher2.find()) {
System.out.println(matcher.group() + " " + matcher2.group());
}
我发现了几个关于合并正则表达式的问题,但从答案中我无法弄清楚如何合并我的。
我的打印输出显示:
"username mail@mail.com"
我可以使用一个正则表达式从单个 matcher打印出相同的内容吗?
obs:这是一项学校作业,这意味着我“不需要”合并它们或再做任何事情,但我想知道这是否可能,以及它会有多难。