我有一个 html 页面。我只想在句子/文本末尾带有问号的标签中提取文本。我使用:
<.+?>(.+?)<.+?>
获取标签内的文本。但这有两个问题:1-我不想要的所有嵌套标签也被提取了。(我只想要纯文本)2-我只想在末尾有问号的标签中获取那些文本.
我不知道该怎么做。有人可以帮我(用Java)。PS:我的html页面格式错误,因此,使用JSoup等工具不是一个选择。这就是为什么我只使用正则表达式。
我有一个 html 页面。我只想在句子/文本末尾带有问号的标签中提取文本。我使用:
<.+?>(.+?)<.+?>
获取标签内的文本。但这有两个问题:1-我不想要的所有嵌套标签也被提取了。(我只想要纯文本)2-我只想在末尾有问号的标签中获取那些文本.
我不知道该怎么做。有人可以帮我(用Java)。PS:我的html页面格式错误,因此,使用JSoup等工具不是一个选择。这就是为什么我只使用正则表达式。
你有充分的理由使用正则表达式吗?
你可以自己分析你的html代码。也许它更快......如果你没有任何标签,这是一个小解决<mytag?>
方案</mytag?>
final LinkedList<String> chunks = new LinkedList<String>();
final String text = "<i>italic</i><mytag?>text</mytag?><href>anchor</href> <mySecondTag?>word</mySecondTag?>";
String rest = text;
int pos;
while ( (pos = rest.indexOf("?>") )!=-1)
{
final int endTag = rest.indexOf("<", pos);
chunks.add(rest.substring(pos+2, endTag));
rest = rest.substring(rest.indexOf(">", endTag+1)+1);
}
System.out.println(chunks);