java正则表达式实现提取需要的字符并放入数组【ArrayList数组去重复功能】

发布时间 - 2026-01-10 22:27:02    点击率:

本文实例讲述了java正则表达式实现提取需要的字符并放入数组。分享给大家供大家参考,具体如下:

这里演示Java正则表达式提取需要的字符并放入数组,即ArrayList数组去重复功能。

具体代码如下:

package com.test.tool;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.regex.*;
public class MatchTest {
  public static void main(String[] args)
  {
    String regex = "[0-9]{5,12}";
    String input = "QQ120282458,QQ120282458 QQ125826";
    Pattern p = Pattern.compile(regex);
    Matcher m = p.matcher(input);
    ArrayList al=new ArrayList();
    while (m.find()) {
      al.add(m.group(0));
    }
    System.out.println("去除重复值前");
    for (int i=0;i<al.size();i++)
    {
      System.out.println(al.get(i).toString());
    }
    //去除重复值
    HashSet hs=new HashSet(al);
    al.clear();
    al.addAll(hs);
    System.out.println("去除重复值后");
    for (int i=0;i<al.size();i++)
    {
      System.out.println(al.get(i).toString());
    }
  }
}

输出结果为:

去除重复值前
120282458
120282458
125826
去除重复值后
125826
120282458

改进版:弄成一个bean:

package com.test.tool;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.regex.*;
public class MatchTest {
  private String regex;
  private String input;
  private ArrayList al;
  public String getRegex() {
    return regex;
  }
  public void setRegex(String regex) {
    this.regex = regex;
  }
  public String getInput() {
    return input;
  }
  public void setInput(String input) {
    this.input = input;
  }
  public ArrayList getAl() {
    return al;
  }
  public void setAl(ArrayList al) {
    this.al = al;
  }
  public MatchTest(String regex,String input)
  {
    Pattern p=Pattern.compile(regex);
    Matcher m=p.matcher(input);
    ArrayList myal=new ArrayList();
    while (m.find())
    {
      myal.add(m.group());
    }
    HashSet hs=new HashSet(myal);
    myal.clear();
    myal.add(hs);
    this.setRegex(regex);
    this.setInput(input);
    this.setAl(myal);
  }
  public MatchTest(){}
  public static void main(String[] args){
     String regex1 = "[0-9]{5,12}";
     String input1="QQ120282458,QQ120282458 QQ125826";
     //String input1="QQ";
    MatchTest mt=new MatchTest(regex1,input1);
    for (int i=0;i<mt.getAl().size();i++)
    {
      System.out.println(mt.getAl().get(i).toString());
    }
  }
}

PS:这里再为大家提供2款非常方便的正则表达式工具供大家参考使用:

JavaScript正则表达式在线测试工具:
http://tools./regex/javascript

正则表达式在线生成工具:
http://tools./regex/create_reg

希望本文所述对大家java程序设计有所帮助。


# java  # 正则表达式  # 提取  # 字符  # 放入数组  # ArrayList  # 数组  # 去重复  # java使用Stream流对自定义对象数组去重的实现  # Java对int[]数组做新增删除去重操作代码  # Java数组去重复的18种方法示例  # Java数组的去重  # JavaScrip数组去重操作实例小结  # Java实现的数组去重与排序操作详解  # 给大家  # 所述  # 程序设计  # 弄成  # 再为  # 改进版  # 测试工具  # 讲述了  # args  # input  # void  # static  # String  # main  # find  # al  # group  # add  # compile 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 如何确保西部建站助手FTP传输的安全性?  如何用景安虚拟主机手机版绑定域名建站?  家族网站制作贴纸教程视频,用豆子做粘帖画怎么制作?  PHP 实现电台节目表的智能时间匹配与今日/明日轮播逻辑  西安专业网站制作公司有哪些,陕西省建行官方网站?  Android自定义控件实现温度旋转按钮效果  在centOS 7安装mysql 5.7的详细教程  如何在新浪SAE免费搭建个人博客?  香港代理服务器配置指南:高匿IP选择、跨境加速与SEO优化技巧  Laravel怎么配置不同环境的数据库_Laravel本地测试与生产环境动态切换【方法】  Microsoft Edge如何解决网页加载问题 Edge浏览器加载问题修复  详解vue.js组件化开发实践  如何在建站之星网店版论坛获取技术支持?  Laravel如何使用软删除(Soft Deletes)功能_Eloquent软删除与数据恢复方法  实现点击下箭头变上箭头来回切换的两种方法【推荐】  如何续费美橙建站之星域名及服务?  laravel怎么实现图片的压缩和裁剪_laravel图片压缩与裁剪方法  如何快速搭建高效WAP手机网站?  如何在万网利用已有域名快速建站?  历史网站制作软件,华为如何找回被删除的网站?  Laravel的.env文件有什么用_Laravel环境变量配置与管理详解  LinuxShell函数封装方法_脚本复用设计思路【教程】  Zeus浏览器网页版官网入口 宙斯浏览器官网在线通道  Linux网络带宽限制_tc配置实践解析【教程】  Laravel怎么上传文件_Laravel图片上传及存储配置  php增删改查怎么学_零基础入门php数据库操作必知基础【教程】  Laravel如何创建和注册中间件_Laravel中间件编写与应用流程  微信小程序 scroll-view组件实现列表页实例代码  原生JS实现图片轮播切换效果  Laravel定时任务怎么设置_Laravel Crontab调度器配置  如何在云指建站中生成FTP站点?  Laravel如何集成Inertia.js与Vue/React?(安装配置)  HTML5空格和nbsp有啥关系_nbsp的作用及使用场景【说明】  如何在局域网内绑定自建网站域名?  绝密ChatGPT指令:手把手教你生成HR无法拒绝的求职信  简历在线制作网站免费版,如何创建个人简历?  北京企业网站设计制作公司,北京铁路集团官方网站?  Laravel如何处理和验证JSON类型的数据库字段  网站建设要注意的标准 促进网站用户好感度!  Laravel如何安装使用Debugbar工具栏_Laravel性能调试与SQL监控插件【步骤】  Win10如何卸载预装Edge扩展_Win10卸载Edge扩展教程【方法】  标题:Vue + Vuex 项目中正确使用 JWT 进行身份认证的实践指南  Laravel如何正确地在控制器和模型之间分配逻辑_Laravel代码职责分离与架构建议  Java解压缩zip - 解压缩多个文件或文件夹实例  laravel怎么为API路由添加签名中间件保护_laravel API路由签名中间件保护方法  微信推文制作网站有哪些,怎么做微信推文,急?  PHP怎么接收前端传的文件路径_处理文件路径参数接收方法【汇总】  高防网站服务器:DDoS防御与BGP线路的AI智能防护方案  浅析上传头像示例及其注意事项  HTML5建模怎么导出为FBX格式_FBX格式兼容性及导出步骤【指南】