>  기사  >  Java  >  Java 정규 표현식은 필요한 문자를 추출하여 배열에 넣는 기능을 구현합니다. [ArrayList 배열 중복 제거 기능]

Java 정규 표현식은 필요한 문자를 추출하여 배열에 넣는 기능을 구현합니다. [ArrayList 배열 중복 제거 기능]

高洛峰
高洛峰원래의
2017-01-22 14:42:331344검색

이 기사의 예에서는 필요한 문자를 추출하여 배열에 넣는 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

개선된 버전: 빈으로 만들기:

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());
    }
  }
}

이 기사가 Java 프로그래밍에 종사하는 모든 분들께 도움이 되기를 바랍니다.

필요한 문자를 추출하여 배열에 넣는 더 많은 Java 정규식을 구현하려면 [ArrayList 배열 중복 제거 기능] 관련 기사를 PHP 중국어 웹 사이트에 주목하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.