gpt4 book ai didi

java - 用java提取文本

转载 作者:行者123 更新时间:2023-12-01 05:54:55 27 4
gpt4 key购买 nike

如果我有下面的字符串,如何使用 java 提取 EDITORS PREFACE 文本?谢谢。

<div class='chapter'><a href='page.php?page=1&filename=SomeFile&chapter=EDITORS PREFACE'>EDITORS PREFACE</a></div> 

最佳答案

正如您在问题评论中所写的那样,您想要 href 中的内容,这里使用正则表达式是:

<a[^>]*? href=\"(?<url>[^\"]+)\"[^>]*?>

此正则表达式将与 Microsoft .NET Framework 一起使用。它将捕获 href 中的内容,并将其放入名为 url 的组中。

刚刚注意到这个问题是用Java标记的。从 JDK 6 开始,Java 中没有命名组,因此以下是 Java 的解决方案:

<a[^>]*? href="([^"]+)"[^>]*?>

上面的正则表达式将捕获 href 中的内容并将其放入组 1。

在这里测试一下:http://www.regexplanet.com/simple/index.html

运行这个程序:

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class RegexMatches
{
public static void main( String args[] ){

// String to be scanned to find the pattern.
String line = "<a href='page.php?page=1&filename=SomeFile&chapter=EDITORS PREFACE'>EDITORS PREFACE</a>";
String pattern = "<a[^>]*? href=\'([^\']+)\'[^>]*?>";

// Create a Pattern object
Pattern r = Pattern.compile(pattern);

// Now create matcher object.
Matcher m = r.matcher(line);

if (m.find( ))
{
// Found value: <a href='page.php?page=1&filename=SomeFile&chapter=EDITORS PREFACE'>
System.out.println("Found value: " + m.group(0) );

// Found value: page.php?page=1&filename=SomeFile&chapter=EDITORS PREFACE
System.out.println("Found value: " + m.group(1) );
}
else
{
System.out.println("NO MATCH");
}
}
}

关于java - 用java提取文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3337783/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com