问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

java怎么通过正则表达式提取一个文件里面的所有邮箱?

发布网友 发布时间:2022-04-29 21:08

我来回答

7个回答

热心网友 时间:2022-04-27 18:34

package org.com.utils;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.LinkedHashSet;
import java.util.List;
import java.util.Set;

public class ReadTxt {

static int NUM = 231;
static String[] value = new String[NUM];

public static List<String> listFriends(File file) throws InterruptedException {
List<String> listFriends = new ArrayList<String>();
int n =0;
try {
BufferedReader reader = new BufferedReader(new FileReader(file));
String line = null;
while ((line = reader.readLine()) != null) {
for (int i = 0; i < NUM; i++) {
int beginIndex = line.indexOf(" n=");
int endIndex = line.indexOf(".com");
if(beginIndex>endIndex){
System.out.println("you are wrong!!!!!!");
n=n+1;
//Thread.sleep(3000);
break;
}
if(beginIndex>-1&&endIndex>-1){
value[i] = line.substring(beginIndex, endIndex);
value[i] = value[i].replaceAll("n=", "<!--");
value[i] = value[i]
.replaceAll("e=", "--><email><receiver>");
value[i] = value[i].replaceAll("\"", "");
listFriends.add(value[i] + "@qq.com</receiver></email>");
//line = line.substring(endIndex * 2 - beginIndex + 2);
break;
}
else {
System.out.println("please go on!!!!!!");
//Thread.sleep(3000);
break;
}
}
}

reader.close();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
listFriends = removeDuplicateObj(listFriends);
System.out.println(n);
return listFriends;

}

public static List<String> removeDuplicateObj(List<String> list) {
Set<String> someSet = new LinkedHashSet<String>(list);
Iterator<String> iterator = someSet.iterator();
List<String> tempList = new ArrayList<String>();
int i = 0;
while (iterator.hasNext()) {
tempList.add(iterator.next().toString());
i++;
}
return tempList;
}

public static void main(String[] args) throws InterruptedException {
// TODO Auto-generated method stub
File file = new File(
"C:\\Documents and Settings\\Administrator\\桌面\\tttttttttttttttttt.txt");
List<String> listFriends = new ArrayList<String>();
listFriends = listFriends(file);
for (String str : listFriends) {
System.out.println(str);
}
System.out.println(listFriends.size());
}

}

热心网友 时间:2022-04-27 19:52

BufferedReader bufferedReader = null;
try {
bufferedReader = new BufferedReader(new FileReader("H:\\emailtest.txt"));
try {
while((bufferedReader.readLine())!=null)
{
//System.out.println(line);
Parseemail(line);
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
finally{
try {
bufferedReader.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static void Parseemail(String line)
{
BufferedWriter bufferedWriter = null;
try {
bufferedWriter = new BufferedWriter(new FileWriter("H:\\reslut.java"));
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Pattern pattern = Pattern.compile("[\\w[.-]]+\\@[\\w[.-]]{2,}\\.[\\w[.-]]+");
Matcher matcher = pattern.matcher(line);
while(matcher.find())
{
System.out.println(matcher.group());
String string = new String(matcher.group());
string += "\n";
try {
bufferedWriter.newLine();
bufferedWriter.write(string, 0, string.length());
bufferedWriter.flush();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
try {
bufferedWriter.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

热心网友 时间:2022-04-27 21:26

文件内容读成一个字符串

Pattern p=Pattern.compile("[\w]+@[\w]+\.[com|net|cn]");
Matcher m=p.matcher(文件内容);
while(m.find()){
vfp = m.group();
System.out.println(vfp)://打印所有邮箱

}

热心网友 时间:2022-04-27 23:18

import java.io.File;
import java.io.IOException;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

import org.apache.commons.io.FileUtils;

public class EmailParser {

private final static Pattern emailer = Pattern
.compile("[\\w[.-]]+@[\\w[.-]]+\\.[\\w]+");
/**
 * @param args
 * @throws IOException
 */
public static void main(String[] args) throws IOException {
String txt = FileUtils.readFileToString(new File("你的文件"));
Matcher matchr = emailer.matcher(txt);
while (matchr.find()) {
String email = matchr.group();
System.out.println(email);
}
}

}

热心网友 时间:2022-04-28 01:26

Pattern p = Pattern.compile("[_/.0-9a-z-]+@([0-9a-z][0-9a-z-]+/.)+[a-z]{2,3}");
Matcher m = p.matcher(builderStr);
while (m.find()) {
System.out.println(m.group());
}

热心网友 时间:2022-04-28 03:50

首先逐行读入,
然后
Pattern pa=Pattern.compile("^\\s*\\w+(?:\\.{0,1}[\\w-]+)*@[a-zA-Z0-9]+(?:[-.][a-zA-Z0-9]+)*\\.[a-zA-Z]+\\s*$");
Matcher ma = =pa.matcher(strLine);
while(ma.find()){
System.out.println(ma.group());

}

热心网友 时间:2022-04-28 06:32

[\w!#$%&'*+/=?^_`{|}~-]+(?:\.[\w!#$%&'*+/=?^_`{|}~-]+)*@(?:[\w](?:[\w-]*[\w])?\.)+[\w](?:[\w-]*[\w])?

用java正则表达式输出一个字符串中所有的email地址,写出完整测试程序...

import java.util.regex.*; public class Tester { public static void main (String[] args) { String str = "sdfsdfsd23232323@baidu.com2323sdf@sdfs.comddd"; String reg = "([a-z0-9_\\.-]+)@([\\da-z\\.-]+)\\.([a-z\\.]{2,6})"; Pattern pattern = Pa...

java,读取一个文件,提取出里面所有邮箱,怎么写规则

import java.util.Set;public class ReadTxt { static int NUM = 231;static String[] value = new String[NUM];public static List&lt;String&gt; listFriends(File file) throws InterruptedException { List&lt;String&gt; listFriends = new ArrayList&lt;String&gt;();int n =0;try { BufferedReader reader = n...

有没有一个通用的正则表达式来验证多个类型的邮箱

邮箱验证 var par = /^([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+\.[a-zA-Z]{2,3}$/;var reg = /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+((\.[a-zA-Z0-9_-]{2,3}){1,2})$/;这两个都可以,你试...

java中应用正则表达式判断邮箱格式,如果用户输入格式错误,提醒用户重新...

Pattern p = Pattern.compile("a*b");Matcher m = p.matcher("aaaaab");boolean b = m.matches();这是调用顺序 第一行括号里面是正则表达式。至于正则表达式怎么写 ,你直接百度就好了 有规则的 还有很多别人写好的。最后一行如果是true就代表匹配成功 ...

用Java正则表达式来获取一个字符串中&lt;&gt;里面的内容。

String s = "dsadsadas&lt;peter&gt;dsadasdas&lt;lionel&gt;\"www.163.com\"&lt;kenny&gt;&lt;&gt;";Pattern p = Pattern.compile("(&lt;[^&gt;]*&gt;)");Matcher m = p.matcher(s);List&lt;String&gt; result=new ArrayList&lt;String&gt;();while(m.find()){ result.add(m.group());} for(String s1:result){ System.out....

请问怎么用java正则表达式提取以下文本中指定的内容

正则表达式是根据规则来匹配文本,你这里只给了一个文本示例,所以无法建立其比较普遍通用的规则。以下是示例代码,可供参考。代码中对每一个你要的数据进行了一个单独匹配,也可以通过一次匹配取出全部的数据。import java.util.regex.Matcher;import java.util.regex.Pattern;public class Test { publi...

java :从控制台输入一个字符串,验证是不是邮箱?

代码如下:import java.util.Scanner;public class Test {public static void main(String[] args) {Scanner sc = new Scanner(System.in);System.out.println("请输入一个邮箱地址:");String mail = sc.nextLine();/* 设定邮箱地址的合法规则,合法邮箱地址要求如下: (1)字符必须是英文或...

使用java正则表达式提取文件名问题,怎么解决

用 fname举个例子 String fName =" G:\\Java_Source\\navigation_tigra_menu\\demo1\\img\\lev1_arrow.gif "; fName = fName.trim(); String temp[] = fName.split("\\\"); /**split里面必须是正则表达式,"\\"的作用是对字符串转义*/ //temp[] = [G:, Java_Source...

如何用java编程实现文本文档中某些有用信息的提取?

1. 读取指定文本文件对象。2. 利用过滤器可以把所需信息读取来即可。3. 把读出来的信息输出(持久化)即可。可参考以下代码 package tool;import java.io.BufferedWriter;import java.io.File;import java.io.FileWriter;import java.io.IOException;import java.util.ArrayList;//有序列出指定目录下所有...

怎样用java正则表达式去掉&lt;&gt;里面的内容包括&lt;&gt;

String str="123&lt;aaa&gt;456&lt;bbb&gt;";str=str.replaceAll("&lt;.*?&gt;","");System.out.println(str);

java怎么用正则表达式判断 java正则表达式截取字符串 正则表达式提取中文 java正则表达式详解 java正则表达式教程 java正则表达式替换 java正则表达式用法 java 正则表达式不能匹配 java正则表达式用法示例
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
电脑版微信如何视频? iPhone5电源键失灵了怎么解决? iPhone电源键失灵怎样解决? iphone电源键失灵怎么办? 联想thinkpad e125触摸屏怎么关? iphone右侧电源键失灵是怎么回事? 11-12寸的本本 超出售后期,买家还申请退款,我该怎么办 ...Eee系列轻薄笔记本和ThinkPad E125 3035-29C(联想)11.6英寸笔记本哪个... 赛尔号布莱克和卡修斯先练哪一个好 JAVA中,用正则表达式识别邮箱是否正确 JAVA中写邮箱格式的正则表达式,怎么写? 腿部按摩手法 如何按摩瘦腿 会议主席台座次如何安排? THANK OF ME的歌词 潜污泵100XWQ80-9-4、生活泵80BGL36-30×4、控制柜HLK-2L-4.0型号如何看 HLK-ALOO手机屏幕上怎么弄时间和日期? HLK-RM04如何进行二次开发?拜托了各位 谢谢 hlk-rm04可以作为路由器吗 WIFI通信模块HLK-RM08S在pcb布线时有什么样的要求? 隐形眼镜一般怎么卖的 想卖隐形眼镜 无证卖隐形眼镜2021年新规 个人如何在学校里卖隐形眼镜 如何推销? 帮朋友推广美瞳的文字怎么发? 怎么给顾客介绍隐形眼镜 我是一个做*眼镜的销售代表,每个眼镜店都有销售但是销量不是很好,如何才能提高销量,请指教 我卖美瞳,但不知道怎么宣传 强生安优视舒日日抛怎么发朋友圈 你好!我这几天做了微商代理美瞳 我想发朋友圈可是不知道开头怎么写 求一个Java邮箱匹配正则表达式!!谢谢咯!! java正则表达式匹配邮箱 JAVA邮箱地址的正则表达式 JAVA匹配邮箱的正则表达式求解答 在java的servlet中如何使用正则表达式验证邮箱 java 英文版QQ邮箱正则表达式怎么写(例如abcdefg.abc@qq.com) 使用 java 编写 邮件 验证 怎么书写正则表达式 要求 第一个字不能是数字 麻烦详细一些 java的一个匹配多个邮箱的地址的正则表达式问题。 在java的电子邮件验证正则表达式问题,怎么解决 java中应用正则表达式判断邮箱格式,如果用户输入格式错误,提醒用户重新输入。若输入正确,直接执行。 java正则表达式判断email的是否有效 影楼经营范围(内容)有那些? 影业包括些什么经营范围?相册制作和摄影包括在内吗? 天秤座和水瓶座 手机使几年换比较合理? 为什么用360浏览器点击链接打不开网页? 手机一般使用多久换好? 大家都离不开手机,都是几年换新手机呢? 都说天秤座和水瓶座般配,为什么? 你们一般手机用几年换啊?