gpt4 book ai didi

java - 保留正则表达式解析的数据

转载 作者:行者123 更新时间:2023-12-02 00:18:38 24 4
gpt4 key购买 nike

我有一个正则表达式模式,它与我需要完全按照需要解析的数据相匹配。不幸的是,使用 split 方法,它会删除所需的数据并将垃圾传递给我。通常我会尝试另一个正则表达式执行相反的操作,但它并不像听起来那么简单。它必须是 Java 语言,因为此部分是一个更大的程序/包的一部分。

Pattern p = Pattern.compile("/^\{\?|\:|\=|\||(\- configurationFile)|(isUsingRESTDescription)|(\restURL)=(\s|\w|\.|\-|\:|\/|\;|\[|\]|\'|\})\r/g");

这是我正在解析的字符串(每个部分后面都有回车符):

  • SearchResult::getBleh(): {BLEHID=BLEH blehLastmoddate=1-Jul-11 bleh=BLEH; Beh 描述=blehbleh BlEh=bleh1231bleh bLeH=bleh-blehbleh 1 媒体= http://bleh.com/13 Date=22-May-12 name=[]} String[] items = p.split(input^);

上面的内容与我想要的相反。

你可能认为有人会遇到这个问题。如有帮助,我们将不胜感激:)。

最佳答案

使用捕获组。您可以在 Pattern 的 javadoc 中阅读有关它们的信息。 .

一个例子:

  Pattern p = Pattern.compile("[^/]*/([^/]*)/.*");
Matcher m = p.matcher("foo/bar/input");
if (m.find()) {
String captured = m.group(1); // This equals "bar"
String matched = m.group(0); // This equals "foo/bar/input"
}

Pattern 中括号内的任何内容都是捕获组。 Matcher 根据何时遇到左括号来索引捕获组。 Group 0 始终是整个匹配区域。

关于java - 保留正则表达式解析的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11441731/

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