Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 保留正则表达式解析的数据_Java_Regex_Parsing - Fatal编程技术网

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

Java 保留正则表达式解析的数据,java,regex,parsing,Java,Regex,Parsing,我有一个正则表达式模式,它与我需要解析的数据完全匹配。不幸的是,使用split方法会删除所需的数据,并将垃圾传递给我。通常我会尝试另一个正则表达式做相反的事情,但它并不像听起来那么简单。它必须是Java的,因为这个部分是一个更大的程序/包的一部分 Pattern p=Pattern.compile(“/^\{\?\”):|\=|\||(\- 配置文件)|(正在使用RESTDescription)|(\restURL)=(\s |\w | \.\124; \-\ 124; \:| \/| \.\

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

Pattern p=Pattern.compile(“/^\{\?\”):|\=|\||(\- 配置文件)|(正在使用RESTDescription)|(\restURL)=(\s |\w | \.\124; \-\ 124; \:| \/| \.\ 124; \[| \]| \'.\124; \})r/g)

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

  • SearchResult::getBleh():{BLEHID=BLEH-blehLastmoddate=1-Jul-11 BLEH=BLEH;Beh description=blehbleh-BLEH=bleh1231bleh-blehbleh=blehblehbleh=blehblehblehbleh-1媒体=Date=22-May-12 name=[]}字符串[]项=p.split(输入^)
上述情况与我想要的正好相反


你会认为有人会有这个问题。非常感谢您的帮助:)。

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

例如:

  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"
  }

模式中位于括号内的任何内容都是捕获组。
Matcher
根据遇到左括号的时间为捕获组编制索引。组0始终是整个匹配区域。

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

例如:

  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"
  }

模式中位于括号内的任何内容都是捕获组。
Matcher
根据遇到左括号的时间为捕获组编制索引。组0始终是整个匹配区域。

您想要实现的具体目标是什么?不太清楚。你能用一个简单的正则表达式给我们一个简单的例子吗?例如,Cornpomorn是我的输入(pop)-我的正则表达式,试图返回“pop”好的,那么@TimBender为你提供了一个答案:捕获组。你到底想实现什么?不太清楚。你能用一个简单的正则表达式给我们一个简单的例子吗?例如-Cornpomorn是我的输入(pop)-我的正则表达式,试图返回“pop”好的,那么@TimBender为你提供了一个答案:捕获组。thanx我试试,我用了一些部分,但我忘记了m.group是如何获取参数的…thanx我试试,我使用了一些部件,但我忘记了m.group是如何获取参数的。。。