Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 正则表达式:模式匹配多行输入_Java_Regex_Multiline - Fatal编程技术网

Java 正则表达式:模式匹配多行输入

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

我正在寻找一个正则表达式模式来验证我的HTML输入是否具有正确的结构,并(可能在第二步中)从中提取一些信息

输入文本示例:

<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解析器将更快、更容易、更正确地实现,特别是当您开始进行更高级的测试时