Java 正则表达式:模式匹配多行输入
我正在寻找一个正则表达式模式来验证我的HTML输入是否具有正确的结构,并(可能在第二步中)从中提取一些信息 输入文本示例:Java 正则表达式:模式匹配多行输入,java,regex,multiline,Java,Regex,Multiline,我正在寻找一个正则表达式模式来验证我的HTML输入是否具有正确的结构,并(可能在第二步中)从中提取一些信息 输入文本示例: <title>Example Title</title><br /> <link>Download:</link> <a href="URL">hier</a> | hoster1 <br /> <link>Download:</link> <a h
<title>Example Title</title><br />
<link>Download:</link> <a href="URL">hier</a> | hoster1 <br />
<link>Download:</link> <a href="URL">hier</a> | hoster2 <br />
<link>Download:</link> <a href="URL">hier</a> | hoster3
示例标题
下载:| hoster1
下载:| hoster2
下载:| hoster3
标题、主持人和URL当然可以更改,而且很有趣,所以我的尝试是这样的:
<title>([^<]+?)</title><br />\s<link>Download:</link> <a href="([^"]+?)">hier</a> \| ([^<]+?)<br />\s
([^one.我猜我的空白字符(\s)与新行不匹配?如何只检查新行字符
可用链接的数量是动态的,因此我不知道有多少标记。我如何使用模式的后半部分作为可重复模式?我想做一些类似的事情(这显然不起作用):
[下载:\\\|([^只需添加[^\r\n]
任何需要为Windows添加新行字符的地方,否则请使用[^\n]
使用适当的HTML解析器,例如用于此类任务;正则表达式对于非常简单的情况很好,但很快就会变得笨拙。HTML解析器将更快、更容易、更正确地实现,特别是当您开始进行更高级的测试时