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


相关推荐: Laravel如何实现登录错误次数限制_Laravel自带LoginThrottles限流配置【方法】  简单实现jsp分页  JS碰撞运动实现方法详解  Java解压缩zip - 解压缩多个文件或文件夹实例  Win11怎么查看显卡温度 Win11任务管理器查看GPU温度【技巧】  网站制作大概多少钱一个,做一个平台网站大概多少钱?  如何快速上传自定义模板至建站之星?  详解Nginx + Tomcat 反向代理 负载均衡 集群 部署指南  香港网站服务器数量如何影响SEO优化效果?  Laravel API资源(Resource)怎么用_格式化Laravel API响应的最佳实践  Win11怎么关闭专注助手 Win11关闭免打扰模式设置【操作】  如何在云主机上快速搭建多站点网站?  EditPlus中的正则表达式 实战(4)  Laravel观察者模式如何使用_Laravel Model Observer配置  Python文件异常处理策略_健壮性说明【指导】  IOS倒计时设置UIButton标题title的抖动问题  JavaScript 输出显示内容(document.write、alert、innerHTML、console.log)  Laravel项目如何进行性能优化_Laravel应用性能分析与优化技巧大全  ChatGPT常用指令模板大全 新手快速上手的万能Prompt合集  jQuery 常见小例汇总  MySQL查询结果复制到新表的方法(更新、插入)  Midjourney怎样加参数调细节_Midjourney参数调整技巧【指南】  Laravel如何使用缓存系统提升性能_Laravel缓存驱动和应用优化方案  phpredis提高消息队列的实时性方法(推荐)  如何彻底删除建站之星生成的Banner?  如何安全更换建站之星模板并保留数据?  Laravel如何记录自定义日志?(Log频道配置)  网站制作公司哪里好做,成都网站制作公司哪家做得比较好,更正规?  Linux虚拟化技术教程_KVMQEMU虚拟机安装与调优  如何自定义safari浏览器工具栏?个性化设置safari浏览器界面教程【技巧】  如何用低价快速搭建高质量网站?  如何在Windows虚拟主机上快速搭建网站?  微信小程序 input输入框控件详解及实例(多种示例)  新三国志曹操传主线渭水交兵攻略  laravel怎么实现图片的压缩和裁剪_laravel图片压缩与裁剪方法  如何为不同团队 ID 动态生成多个非值班状态按钮  Laravel Seeder填充数据教程_Laravel模型工厂Factory使用  google浏览器怎么清理缓存_谷歌浏览器清除缓存加速详细步骤  Thinkphp 中 distinct 的用法解析  个人网站制作流程图片大全,个人网站如何注销?  详解阿里云nginx服务器多站点的配置  零基础网站服务器架设实战:轻量应用与域名解析配置指南  如何快速生成橙子建站落地页链接?  Linux后台任务运行方法_nohup与&使用技巧【技巧】  Laravel怎么在Blade中安全地输出原始HTML内容  JavaScript如何实现倒计时_时间函数如何精确控制  laravel服务容器和依赖注入怎么理解_laravel服务容器与依赖注入解析  如何正确下载安装西数主机建站助手?  轻松掌握MySQL函数中的last_insert_id()  公司网站制作需要多少钱,找人做公司网站需要多少钱?