本文实例讲述了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
相关文章:
如何设置并定期更换建站之星安全管理员密码?
营销式网站制作方案,销售哪个网站招聘效果最好?
建站一年半SEO优化实战指南:核心词挖掘与长尾流量提升策略
SAX解析器是什么,它与DOM在处理大型XML文件时有何不同?
怎么用手机制作网站链接,dw怎么把手机适应页面变成网页?
动图在线制作网站有哪些,滑动动图图集怎么做?
C++ static_cast和dynamic_cast区别_C++静态转换与动态类型安全转换
家具网站制作软件,家具厂怎么跑业务?
教程网站设计制作软件,怎么创建自己的一个网站?
成都网站制作公司哪家好,四川省职工服务网是做什么用?
惠州网站建设制作推广,惠州市华视达文化传媒有限公司怎么样?
官网建站费用明细查询_企业建站套餐价格及收费标准指南
如何零基础在云服务器搭建WordPress站点?
建站VPS能否同时实现高效与安全翻墙?
网站企业制作流程,用什么语言做企业网站比较好?
建站之星安装提示数据库无法连接如何解决?
怀化网站制作公司,怀化新生儿上户网上办理流程?
如何通过西部建站助手安装IIS服务器?
表情包在线制作网站免费,表情包怎么弄?
建站主机选哪家性价比最高?
如何配置FTP站点权限与安全设置?
实惠建站价格推荐:2025年高性价比自助建站套餐解析
如何在西部数码注册域名并快速搭建网站?
如何在宝塔面板中修改默认建站目录?
网站制作专业公司有哪些,如何制作一个企业网站,建设网站的基本步骤有哪些?
太原网站制作公司有哪些,网约车营运证查询官网?
招贴海报怎么做,什么是海报招贴?
建站之星代理平台如何选择最佳方案?
如何用搬瓦工VPS快速搭建个人网站?
三星网站视频制作教程下载,三星w23网页如何全屏?
深圳网站制作培训,深圳哪些招聘网站比较好?
江苏网站制作公司有哪些,江苏书法考级官方网站?
如何通过.red域名打造高辨识度品牌网站?
官网自助建站平台指南:在线制作、快速建站与模板选择全解析
建站之星安装路径如何正确选择及配置?
宁波免费建站如何选择可靠模板与平台?
如何通过多用户协作模板快速搭建高效企业网站?
阿里云网站制作公司,阿里云快速搭建网站好用吗?
简单实现Android验证码
如何基于PHP生成高效IDC网络公司建站源码?
专业网站制作企业网站,如何制作一个企业网站,建设网站的基本步骤有哪些?
建站之星安全性能如何?防护体系能否抵御黑客入侵?
如何破解联通资金短缺导致的基站建设难题?
实例解析Array和String方法
制作ppt免费网站有哪些,有哪些比较好的ppt模板下载网站?
网站制作价目表怎么做,珍爱网婚介费用多少?
如何制作公司的网站链接,公司想做一个网站,一般需要花多少钱?
如何在Windows服务器上快速搭建网站?
北京的网站制作公司有哪些,哪个视频网站最好?
已有域名能否直接搭建网站?
*请认真填写需求信息,我们会在24小时内与您取得联系。