Java:正規抽出テキストの指定情報


Java:正規抽出テキストの指定情報
 
ターゲット:正規regexが与えられ、テキストtextの情報が抽出されます.QQ番号を例にとります.
他の正規表現を試したい場合は、一般的な正規表現のまとめを表示します.
Javaコード:
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class Demo {

    /*
      :     regex,     text    
     */
    public static List> getRegex(String text, String regex, String regexName) {
        Pattern compile = Pattern.compile(regex);
        Matcher matcher = compile.matcher(text);
        List> list = new ArrayList<>();

        while (matcher.find()) {
            Map map = new HashMap<>();
            map.put("name", regexName);
            map.put("value", matcher.group());
            map.put("start", matcher.start());
            map.put("end", matcher.end());
            list.add(map);
        }
        return list;
    }

    public static void main(String args[]) {
        String text = "  QQ   1234567890 100001";
        String regex = "[1-9][0-9]{4,}";
        String regexName = "QQ";
        List> result = getRegex(text, regex, regexName);
        System.out.println(result);
    }
}

実行結果:
[{name=QQ, start=7, end=17, value=1234567890}, {name=QQ, start=18, end=24, value=100001}]