gpt4 book ai didi

JAVA 正则表达式 - 如何排除某个电子邮件扩展名?

转载 作者:行者123 更新时间:2023-11-30 10:04:51 24 4
gpt4 key购买 nike

我的程序用于整理电子邮件并查找没有正确扩展名的电子邮件。为此,我正在 Regex 中进行试验,可以让它检测电子邮件何时具有扩展名,或者根本没有扩展名,但无法让程序检测该行何时具有不是我希望的特定扩展名排除。

我试过使用像 ?! 这样的标签与声明并没有结果。我在正则表达式方面没有太多经验,所以我的尝试屈指可数。

import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class Emails {
public static void main(String args[]) throws IOException {
Scanner scanner = new Scanner(new File("rajeev.dat"));

ArrayList<String[]> lines = new ArrayList<>();

Pattern regex = Pattern.compile("(?!^([A-Za-z0-9.]+(?!@Google.org)|[A-Za-z0-9.]+(?!@Yahoo.net)))");
Pattern findComma = Pattern.compile(",");

while(scanner.hasNextLine()){
lines.add(scanner.nextLine().split(","));
}

for(String[] s: lines){
for(String s1: s){
System.out.println(s1);
}
System.out.println();
}


String temp = "";

String output = "";

output += lines.get(0)[0] + ":" + lines.get(0)[1] + ":";

for(int i = 2; i < lines.get(0).length; i++){
temp += lines.get(0)[i] + " ";
}

System.out.println(temp);

Matcher match = regex.matcher(temp);
String temp2 = "";
boolean nofail = false;

while(match.find()){
output += match.group().trim() + ":";
nofail = true;
}


if(nofail) {
System.out.println(output);
}


}
}

该程序有望整理出所有扩展名不是@Google.org 或@yahoo.net 的电子邮件

程序找不到匹配项

最佳答案

你能试试这个吗? https://regex101.com/r/hbnvr8/1/

Pattern.compile("^([A-Za-z0-9.]+(\\.?)+([A-z0-9]?))+@(?!(Yahoo.net|Google.org)$)[A-z]+\\.[A-z]+$")

关于JAVA 正则表达式 - 如何排除某个电子邮件扩展名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55623825/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com