java - 从字符串中提取自定义 HTML 属性

标签 java regex

我需要从字符串中提取data-user_id数字

输入字符串示例

 data-user_id="987654" lorem epsem  lorem epsem  lorem epsem  lorem
 data-user_id="123456-6" lorem epsem epsem  lorem epsem
 <img src="abcd.com"/> lorem epsem  data-user_id="123456"

预期输出

987654,123456-6,123456

我的代码(不起作用)

private static String getIdFromLine(String inputLine) {
    Pattern p = Pattern.compile("(data-user_id=\"[0-9a-z]*\")");
    Matcher m = p.matcher(inputLine);
    if (m.find()) {
        String src = m.group(2);
    }

    return null;
}

最佳答案

你应该有这个正则表达式:

data-user_id=\"([0-9a-z-]+)\"

group(1) 将包含所需的输出。

您的代码存在更多问题;您对结果进行循环,而不是if,您应该使用while循环:

while (m.find()) {
    //build the result here
{

关于java - 从字符串中提取自定义 HTML 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28047225/

相关文章:

java - ElasticSearch启动失败

java - 检查文本是否有多个链接

java - 解析纯文本文件中的数据结构

java - 使用java String.split()方法分离数据

java - 数据的最小表示?

java - 在绘画中使用thread.sleep方法

Python 正则表达式模块即使重叠 = True 也找不到所有匹配项

java - 正则表达式验证出错 - Java

java 代码在 GUI 中输入数据并根据数据创建和验证 xml 文件

java - 多行 JTextPane