我正在编写一个控制台命令来打印用户所需的任何HTML标记内的内容。命令如下:
ALL <tag>
其中<tag>
例如<b>
,程序作业是查看HTML代码并仅写入该标记内的内容。
HTML代码示例:
<html>
<head>
<title>Sample "Hello, World" Application</title>
</head>
<body bgcolor=white>
<table border="0" cellpadding="10">
<tr>
<td>
<img src="images/springsource.png">
</td>
<td>
<h1>Sample "Hello, World" kraljivan488@gmail.com</h1>
</td>
</tr>
</table>
<p>This is the home page for the HelloWorld blaz13@gmail.com </p>
<p>To prove that they work, you can execute either of the 192.168.1.1</p>
<ul>
<li>To a <a href="hello.jsp">JSP page</a>.</li>
<li>To a <a href="hello">servlet</a>.</li>
</ul>
</body>
</html>
它必须是正则表达式,因为还有一个控制台命令来编写此命令使用的正则表达式。
我使用"<tag.*<\\/tag>"
。它还会打印标签。
我需要使用什么正则表达式?
答案 0 :(得分:0)
试试这个
String regex = "<" + tag + "([^>]+?)"
那么它的作用是在标签的开头再次匹配,当它吸引第一个>
时,停止并记住标签内的所有内容,这就是你想要的结果,你只需要处理匹配以提取结果。
Matcher matcher = Pattern.compile(regex).matcher(yourString);
String result = matcher.group(1); // our capturing in the regex