我正在构建一个从HTML网页上抓取的应用 页面在javascript中显示错误的方式:
<script type="text/javascript">
toastr.error('ERROR1');
toastr.error('ERROR2');
...
</script>
我需要构建一个正则表达式,逐个提取ERROR1和ERROR2等。
答案 0 :(得分:1)
如果您尝试仅获得确切的ERROR1
和ERROR2
这意味着您应该在toastr.error('
和');
之间获取所有内容,这样可以帮助您:
public static void main(String[] args) {
String str = "<script type=\"text/javascript\">"
+ "toastr.error('ERROR1');"
+ "toastr.error('ERROR2');"
+ "..."
+ "</script>";
String regexString = Pattern.quote("toastr.error('") + "(.*?)" + Pattern.quote("');");
Pattern pattern = Pattern.compile(regexString);
Matcher matcher = pattern.matcher(str);
while (matcher.find()) {
System.out.println(matcher.group(1));
}
}
这将返回如下结果:
ERROR1
ERROR2