Java - 正则表达式搜索字符串

标签 java regex

我正在从一个文件中读取一个字符串,内容如下

<div style="Z-INDEX: 654; BORDER-BOTTOM: 0px; POSITION: absolute; BORDER-LEFT: 0px; WIDTH: 80px; HEIGHT: 22px; BORDER-TOP: 0px; TOP: 64px; CURSOR: auto; BORDER-RIGHT: 0px; LEFT: 240px" id="textboxElt11286249556014dIi15v" lineid="lineid" pos_rel="false" x1="240" x2="320" y1="64" y2="86"><input style="WIDTH: 80px; HEIGHT: 20px" id="textboxElt11286249556014dIi15v_textbox" title="Enter Registration Number Here" tabindex="1" value=" " maxlength="15" size="10" name="scheduled_tribe_registration_number_text"></input></div>

会有多行这种类型,并且数据不固定,我想获取样式的值,我想使用正则表达式来执行此操作,因为子元素也可以在其中包含样式属性,并且我想获取所有样式属性

最佳答案

有很多优秀的 Java html 解析器库,HTMLCleaner就是其中之一。

这是获取样式属性的更好方法:

import org.htmlcleaner.HtmlCleaner;
import org.htmlcleaner.TagNode;

public class Test {

    public static void main(String[] args) throws Throwable {
        HtmlCleaner cleaner = new HtmlCleaner();
        String html = "<div style=\"Z-INDEX: 654; BORDER-BOTTOM: 0px; POSITION: absolute; BORDER-LEFT: 0px; WIDTH: 80px; HEIGHT: 22px; BORDER-TOP: 0px; TOP: 64px; CURSOR: auto; BORDER-RIGHT: 0px; LEFT: 240px\" id=\"textboxElt11286249556014dIi15v\" lineid=\"lineid\" pos_rel=\"false\" x1=\"240\" x2=\"320\" y1=\"64\" y2=\"86\"><input style=\"WIDTH: 80px; HEIGHT: 20px\" id=\"textboxElt11286249556014dIi15v_textbox\" title=\"Enter Registration Number Here\" tabindex=\"1\" value=\" \" maxlength=\"15\" size=\"10\" name=\"scheduled_tribe_registration_number_text\"></input></div>";
        TagNode node = cleaner.clean(html);
        TagNode div = node.findElementByName("div", true);
        System.out.println(div.getAttributeByName("style"));
    }
}

如果您熟悉jquery,您还应该查看jsoup .

关于Java - 正则表达式搜索字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4487515/

相关文章:

java - 缺少右括号

c# - 构建正则表达式模式以最终从数据中选择所需的文本

java - 从 ArrayList 添加到堆栈 (Java)

java - Java 正则表达式中的重音

java - 空指针异常 requestDispatcher

java - 如何将 Javascript 中的数组打乱为与 Java 中的 Collections.shuffle(array, seeds) 相同的顺序

javascript - 使用数组查找文本并替换为类等于文本的文本周围的链接

java - 相同的正则表达式,但使用 StringTokenizer 和 Scanner 类定界符给出不同的结果

c# - 如何在特殊条件下使用 C# 中的正则表达式突出显示关键字?

java - 原始类型编译器警告通用数组创建