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格式兼容性及导出步骤【指南】

