public class EmailExtract extends JFrame{
private static final long serialVersionUID = 1L;
public EmailExtract(){
this.setSize(400, 150);
this.setLocation(350, 300);
this.setTitle("邮件地址抽取");
}
public static void main(String[] args) {
EmailExtract frame = new EmailExtract();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.add(new EmailExtractPanel());
frame.setVisible(true);
}
}
class EmailExtractPanel extends JPanel{
private static final long serialVersionUID = 1L;
private JTextField inField = new JTextField(20);
private JTextField outField = new JTextField(20);
public EmailExtractPanel(){
this.setLayout(new GridLayout(3, 1));
JPanel panel1 = new JPanel();
panel1.add(new JLabel("输入"));
panel1.add(inField);
JButton button1 = new JButton("选择");
button1.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
JFileChooser chooser = new JFileChooser();
chooser.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);
int i = chooser.showOpenDialog(EmailExtractPanel.this);
if (i == JFileChooser.APPROVE_OPTION) {
inField.setText(chooser.getSelectedFile().getAbsolutePath());
}
}
});
panel1.add(button1);
this.add(panel1);
JPanel panel2 = new JPanel();
panel2.add(new JLabel("输出"));
panel2.add(outField);
JButton button2 = new JButton("选择");
button2.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
JFileChooser chooser = new JFileChooser();
chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
int i = chooser.showOpenDialog(EmailExtractPanel.this);
if (i == JFileChooser.APPROVE_OPTION) {
outField.setText(chooser.getSelectedFile().getAbsolutePath());
}
}
});
panel2.add(button2);
this.add(panel2);
JPanel panel3 = new JPanel();
JButton okButton = new JButton("确定");
okButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
if(!"".equals(inField.getText()) && !"".equals(outField.getText())){
File inFile = new File(inField.getText());
File outFolder = new File(outField.getText() + "\\邮件地址输出");
if(!outFolder.exists()){
outFolder.mkdir();
}
try {
emialExport(inFile, outFolder);
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
System.exit(0);
}
}
});
panel3.add(okButton);
this.add(panel3);
}
private void emialExport(File inFile, File outFolder) throws IOException{
if(inFile.isDirectory()){
File loutFolder = new File(outFolder, inFile.getName());
if(!loutFolder.exists()){
loutFolder.mkdir();
}
File[] fileList = inFile.listFiles();
for(File file : fileList){
emialExport(file, loutFolder);
}
}else{
File toFile = new File(outFolder, inFile.getName());
FileWriter fw = new FileWriter(toFile);
fw.append(getEmailList(getStringFromFile(inFile)));
fw.flush();
fw.close();
}
}
public String getStringFromFile(File f) throws FileNotFoundException{
StringBuilder sb = new StringBuilder("");
Scanner in = new Scanner(f);
while(in.hasNextLine()){
sb.append(" " + in.nextLine());
}
in.close();
return sb.toString();
}
private String getEmailList(String emailText){
String email = "";
String emailList = "";
Pattern p = Pattern.compile("[\\w-]+(\\.[\\w-]+)*@[\\w-]+(\\.[\\w-]+)+");
Matcher m = p.matcher(emailText);
while (m.find())
{
email = m.group();
emailList += email + ";";
}
return emailList;
}
}
分享到:
相关推荐
这对于输入形式的用户输入验证特别有用-验证电子邮件地址等。您还可以从网页或文档中提取电话号码,邮政编码等,在日志文件中搜索复杂的模式,然后您就可以想象得到。无需重新编译程序即可更改规则(模板)。...
RegexApplication/Default.aspx 正则表达式类的应用 RegexApplication/GetPageHtmlData.aspx 获取网页的内容 第10章(/10/) ASPNETValidator/Compare.aspx 比较验证 ASPNETValidator/...
精通正则表达式第三版 搜集于网络 前言..........I 第1章:正则表达式入门.... 1 解决实际问题... 2 作为编程语言的正则表达式... 4 以文件名做类比... 4 以语言做类比... 5 正则表达式的知识框架... 6 对于...
C#字符串和正则表达式参考手册 目 录 第1章 系统处理文本的方式 1 1.1 .NET Framework 1 1.1.1 公共语言运行时 2 1.1.2 .NET Framework类库 3 1.2 文本是一种数据类型 4 1.2.1 C#的数据类型 5 1.2.2 字符和字符集 6 ...
使用正则表达式提取网页中的有用内容,提取网页中的URL地址,提取网页中的电子邮件E-mail地址
正则表达式中的特殊字符 字符 含意 \ 做为转意,即通常在"\"后面的字符不按原来意义解释,如/b/匹配字符"b",当b前面加了反斜杆后/\b/,转意为匹配一个单词的边界。 -或- 对正则表达式功能字符的还原,如"*"匹配它...
5、提取信息中的邮件地址:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)* 6、提取信息中的中国手机号码:(86)*0*13\d{9} 7、提取信息中的中国固定电话号码:(\(\d{3,4}\)|\d{3,4}-|\s)?\d{8} 8、提取信息中的中国...
1、时间解析程序 2.确认有效电子邮件格式 3.清理输入字符串 4.更改日期格式 5.提取 URL 信息 6.提取文本 7.根据给定的标识查找后面的说明... 利用正则表达式去除字串中重复的字符的算法程序:
符合社交媒体资料的正则表达式该存储库列出了正则表达式,以匹配社交媒体配置文件的URL并从中提取信息。 因此,如果您在Web上的某个地方(例如找到指向此存储库的超链接,则此存储库中的正则表达式将使您发现它是...
提取文件中全部email邮件地址 提取文件中全部互联网址(无参数) 提取文件中全部互联网址(带参数) 提取HTML文件中body的文本内容 提取HTML文件中title和body的文本内容 提取HTML文件中textarea的文本内容 提取...
在之前找工作过程中,面试时经常被问到会不会python,懂不懂正则表达式。心里想:软件的东西和芯片设计有什么关系?咱也不知道因为啥用这个,咱也不敢问啊!在网上搜索到了一篇关于脚本在ASIC领域中应用的文章...
请求,正则表达式这涉及下载文本的请求,以查找其他页面链接(因此,该演示版又深入了一页,但以“与我们联系”为目标) 写入json,使用缩进将json打印到终端写入csv 电子邮件正则表达式非常匆忙且基础,绝对需要...
正则表达式提取文件中邮件地址以及java文件选择器的运用,纯属练习
使用正则表达式实现的网页提取邮箱地址功能
提取文件中全部email邮件地址 提取文件中全部互联网址(无参数) 提取文件中全部互联网址(带参数) 提取HTML文件中body的文本内容 提取HTML文件中title与body的文本内容 提取HTML文件中textarea的文本内容 提取HTML...
一个正则表达式文件包含邮件纯文本部分的正则表达式,而另一个文件包含 HTML 部分的正则表达式。 这些文件中的每一行定义一个正则表达式。 CSS 选择器用于删除匹配的元素。 HTML 部分可以引用图像,因此所有引用的...
正则表达式正则表达式用于提取简历的一部分。 例如,一个体验部分可能包含单词experience的多个实例。 因此,必须使用严格的正则表达式来提取经验部分。 解决方案是获取与以下内容完全匹配的单词experience的索引 ...
因此,必须使用严格的正则表达式来提取经验部分。 解决方案是获取与以下内容完全匹配的单词体验的索引 EXPERIENCE ("\\b(Experience(s?)|EXPERIENCE(S?))\\b") 解析器会忽略小写的经验或部分标题之后的经验。 相同的...
ereg() and eregi() 有一个特性是允许用户通过正则表达式去提取字符串的一部分(具体用法你可以阅读手册). 比如说,我们想从 path/URL 提取文件名 – 下面的代码就是你需要: ereg("([^\\/]*)$", $pathOrUrl, $regs);...
电子邮件地址助手 确保给定输入是有效地址的正则表达式。 该模块确保我们使用相同的方法来验证我们所有服务中的给定电子邮件地址。 它最初是从 debitoor-app source/util 文件夹中提取到它自己的模块中。概述辅助...