解析InputStream以获得多个模式
|
我正在解析InputStream的某些模式以从中提取值,例如我会有类似的东西
<span class=\"filename\"><a href=\"http://example.com/foo\">foo</a>
我不想使用完整的html解析器,因为我对文档结构不感兴趣,而只对一些定义明确的信息感兴趣。 (只有他们的顺序很重要)
当前,我正在使用一种非常简单的方法,对于每个模式,我都有一个对象,其中包含打开和关闭\'tag \'的char [](在示例中,打开将是closing1ѭ,然后关闭\"
以获取url)和一个位置标记。对于InputStream读取的每个字符,我遍历所有Patterns并调用match(char)
函数,一旦打开模式匹配,该函数将返回true,从那时起,我将以下字符收集到StringBuilder中,直到现在活动的模式再次匹配() 。然后,我调用具有模式ID和读取的String的函数,以对其进行进一步处理。
尽管这在大多数情况下都能正常工作,但我想在模式中包括正则表达式,因此我也可以匹配类似
<span class=\"filename\" id=\"234217\"><a href=\"http://example.com/foo\">foo</a>
在这一点上,我确定我会重新发明轮子,因为这肯定是以前做过的,而且我真的不想写我自己的regex解析器。但是,我找不到任何可以满足我需求的东西。
不幸的是,“ 5”类仅匹配一个模式,而不匹配模式列表,我可以使用哪些替代方法?它不应该很重并且可以与Android一起使用。
没有找到相关结果
已邀请:
3 个回复
缝皋
属性匹配任何
元素,而不考虑其可能具有的其他属性?这很容易:
文件“ test.txt”包含您的问题文本,输出为: http://example.com/foo 和关闭 http://example.com/foo
犀寺扦
弦砂牧扁