用于提取数据的 Java 正则表达式模式

标签 java regex data-extraction

我有类似这样的传入数据

http://localhost:1111/search?id=10&time=3200&type=abc
http://localhost:1111/search?time=3200&id=11&type=abc
http://localhost:1111/search?id=12
http://localhost:1111/search?id=13&time=3200&type=abc

数据各不相同,但不是完全随机或不可预测的

那么基本上我们如何提取每个字符串中传入的 ID 并忽略其余的垃圾?

最佳答案

您可以尝试使用正则表达式id=(\d+)并提取第一个capturing group的值:

String url = "http://localhost:1111/search?id=10&time=3200&type=abc";

Pattern id = Pattern.compile("id=(\\d+)");

Matcher m = id.matcher(url);
if (m.find())
    System.out.println(m.group(1));
10

参见PatternMatcher .

关于用于提取数据的 Java 正则表达式模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20976930/

相关文章:

基于模式的 Java 字符串格式化

python - python中从下一个时间值中减去上一个时间值

java - 如何将大整数值存储到字节数组列表中

java - 如何将图像与表格单元格(SWT 表)中心对齐 RAP 平台

java - jpa条件查询,匹配作为参数传递的任何列表

java - 正则表达式匹配数字和运算符之间的空格,但数字之间没有空格

java - Angularjs 将文件多部分 FormData 中的空值传递给 Spring MVC

php - 使用Open Graph协议(protocol)提取og :image source

python - 如何设置一个具有所有方法和功能的类,如内置的 float,但保留额外的数据?

python - 如何使用scrapely提取项目列表?