Java 文本解析工具类:用正则表达式提取文本中的电子邮件地址
下面是一个简单的Java文本解析工具类的示例,这个类使用正则表达式来解析字符串中的特定模式。这个例子中,我们创建了一个名为`TextParser`的类,它有一个方法`parseEmails`用于从给定的文本中提取所有的电子邮件地址。 ```java import java.util.regex.Matcher; import java.util.regex.Pattern; public class TextParser { // 定义电子邮件地址的正则表达式 private static final String EMAIL_PATTERN = "\\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\\.[A-Z|a-z]{2,}\\b"; / * 解析文本并返回所有找到的电子邮件地址 * @param text 输入的文本 * @return 一个包含电子邮件地址的列表,如果没有找到则返回空列表 */ public static List<String> parseEmails(String text) { List<String> emails = new ArrayList<>(); Pattern pattern = Pattern.compile(EMAIL_PATTERN); Matcher matcher = pattern.matcher(text); while (matcher.find()) { emails.add(matcher.group()); } return emails; } } ``` 你可以像这样使用这个类: ```java public class Main { public static void main(String[] args) { String text = "Hello, please contact me at info@example.com or john.doe@example.co.uk"; List<String> emails = TextParser.parseEmails(text); for (String email : emails) { System.out.println(email); } } } ``` 这将输出: ``` info@example.com john.doe@example.co.uk ``` 这个简单的实现可能无法处理所有可能的电子邮件地址格式,实际使用时可能需要根据具体需求进行调整或使用更复杂的正则表达式。 ######[AI写代码神器 | 380点数解答 | 2024-05-29 14:47:52]
- Java 实现复制粘贴功能:打造简易文本复制粘贴程序(GPT | 1497点数解答 | 2024-08-25 09:40:33)428
- 解决数据库“dm.jdbc.driver.dmexception: 数据溢出”问题的全步骤指南(阿里通义 | 598点数解答 | 2024-10-15 15:48:38)329
- 达梦数据库数据溢出问题排查及多维度解决方法(阿里通义 | 403点数解答 | 2024-10-15 15:48:41)1208
- Python 字典基本操作全解析:创建、查找与遍历示例( | 313点数解答 | 2024-05-06 09:52:01)389
- 巧用正则表达式:精准匹配字符串中第二个重复字符(DeepSeek | 229点数解答 | 2025-06-12 15:27:32)126
- Golang开发:解析JSON数据时数值默认类型及示例解析(百度文心 | 393点数解答 | 2023-11-09 18:13:06)300
- SQL Working Areas Sizing: Manual vs. Automatic Policy - A Comprehensive Analysis(阿里通义 | 530点数解答 | 2024-05-13 10:55:58)322
- "Java Code: Uncovering Stock Statistics through CSV File Reading"(字节豆包 | 66点数解答 | 2024-11-13 15:31:04)338
- Python 正则表达式:从“文本+数字+顿号”字符串中精准提取内容(字节豆包 | 218点数解答 | 2024-11-07 12:17:47)232
- Minecraft基岩版:定制start_screen.json,点击按钮弹出居中文本弹窗!(讯飞星火 | 628点数解答 | 2024-11-16 19:45:41)146
- Minecraft基岩版:为开始界面UI添加点击弹窗按钮的详细指南(百度文心 | 1123点数解答 | 2024-11-16 19:46:05)228
- Minecraft基岩版:教你打造带弹窗按钮的开始界面UI(start_screen.json)(字节豆包 | 181点数解答 | 2024-11-16 19:46:26)194