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

网友投稿 194 2023-06-18


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

本文实例讲述了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 QQ1http://25826";

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

{

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

{

System.out.println(al.get(i).toString());

}

}

}

输出结果为:

去除重复值前

120282458

120282458

125826

去除重复值后

125826

120282458

改进版:弄成一个bean:

package com.test.tool;

import java.util.ArrayList;http://

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

{

System.out.println(mt.getAl().get(i).toString());

}

}

}

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

javascript正则表达式在线测试工具:

http://tools.jb51.net/regex/javascript

正则表达式在线生成工具:

http://tools.jb51.net/regex/create_reg

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

{

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

{

System.out.println(al.get(i).toString());

}

}

}

输出结果为:

去除重复值前

120282458

120282458

125826

去除重复值后

125826

120282458

改进版:弄成一个bean:

package com.test.tool;

import java.util.ArrayList;http://

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

{

System.out.println(mt.getAl().get(i).toString());

}

}

}

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

javascript正则表达式在线测试工具:

http://tools.jb51.net/regex/javascript

正则表达式在线生成工具:

http://tools.jb51.net/regex/create_reg

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

{

System.out.println(al.get(i).toString());

}

}

}

输出结果为:

去除重复值前

120282458

120282458

125826

去除重复值后

125826

120282458

改进版:弄成一个bean:

package com.test.tool;

import java.util.ArrayList;http://

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

{

System.out.println(mt.getAl().get(i).toString());

}

}

}

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

javascript正则表达式在线测试工具:

http://tools.jb51.net/regex/javascript

正则表达式在线生成工具:

http://tools.jb51.net/regex/create_reg

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

{

System.out.println(mt.getAl().get(i).toString());

}

}

}

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

javascript正则表达式在线测试工具:

http://tools.jb51.net/regex/javascript

正则表达式在线生成工具:

http://tools.jb51.net/regex/create_reg

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


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:java获取文件扩展名的方法小结【正则与字符串截取】
下一篇:详解通过JDBC进行简单的增删改查(以MySQL为例)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~