Java——正则提取文本中的指定信息
目标:给定正则regex,提取出文本text中的信息。以QQ号码为例。
若想尝试其他正则,查看常用正则表达式总结。
Java代码:
import ;
import ;
import ;
import ;
import ;
import ;
public class Demo {
/*
功能: 给定正则regex,提取出文本text中的信息
*/
public static List<Map<String, Object>> getRegex(String text, String regex, String regexName) {
Pattern compile = (regex);
Matcher matcher = (text);
List<Map<String, Object>> list = new ArrayList<>();
while (()) {
Map<String, Object> map = new HashMap<>();
("name", regexName);
("value", ());
("start", ());
("end", ());
(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<Map<String, Object>> result = getRegex(text, regex, regexName);
(result);
}
}
运行结果:
[{name=QQ, start=7, end=17, value=1234567890}, {name=QQ, start=18, end=24, value=100001}]