当前位置: 首页 > 知识库问答 >
问题:

Java-正则表达式-捕获组之间""[重复]

阳福
2023-03-14

你知道这里怎么了吗?

    Pattern pathsPatter = Pattern.compile("\"([^\"]+)\"");
    Matcher pathsMatcher = pathsPatter.matcher(commandAndParameters[1]);

我想捕获“”之间的组。例如,如果字符串为

    mv "C:\Users\" "D:\"

匹配器应捕获:

    C:\Users\
    D:\

共有2个答案

徐麒
2023-03-14

在这里工作正常:

Pattern pathsPattern = Pattern.compile("\"([^\"]+)\"");
Matcher pathsMatcher = pathsPattern.matcher("mv \"C:\\Users\\\" \"D:\\\"");
pathsMatcher.find();
System.out.println("found " + pathsMatcher.group(1)); // prints: found C:\Users\
pathsMatcher.find();
System.out.println("found " + pathsMatcher.group(1)); // prints: found D:\
孙经艺
2023-03-14

尝试这种模式:

    String data = "mv \"C:\\Users\\\" \"D:\\\"";

    Pattern pattern = Pattern.compile("\"(.+?)\"");
    Matcher matcher = pattern.matcher(data);
    System.out.println("Started");
    while (matcher.find()) {
        System.out.println(matcher.group(1));
    }
 类似资料:
  • 问题内容: 我正在使用Java的正则表达式库。我想针对以下格式验证字符串: 数字的数量未知。我想确保该字符串中至少有一个数字,并且每两个数字之间用逗号分隔。我也想从字符串中获取数字。 ( 注意: 这只是一个简化的示例,string.split无法解决我的实际问题) 我写了以下正则表达式: 验证部分起作用。但是,当我尝试提取数字时,我得到了2组: regex101版本:https://regex10

  • 问题内容: 我正在尝试使用Java expr在:之后捕获正确的部分,但是在以下代码中,打印的捕获组是整个字符串,怎么了? 问题答案: 子组的编号从1开始,全文为0。只需循环执行count + 1。

  • 假设我有这个虚拟URL,我需要提取植物及其颜色作为 下面的I have正在按预期捕获我需要的元素,但是当我的URL中的植物少于4株时,它无法捕获任何东西。底部有一个指向regex测试员的链接,其中有示例代码和URL,您可以使用。 如何修改这个正则表达式,使其动态工作,从而在不需要静态URL结构的情况下捕获可用内容。现在,假设我最多只能捕获4株植物(8组) https://regex101.com/

  • 本文向大家介绍PHP正则表达式之捕获组与非捕获组,包括了PHP正则表达式之捕获组与非捕获组的使用技巧和注意事项,需要的朋友参考一下 今天遇到一个正则匹配的问题,忽然翻到有捕获组的概念,手册上也是一略而过,百度时无意翻到C#和Java中有对正则捕获组的特殊用法,搜索关键词有PHP时竟然没有相关内容,自己试了一下,发现在PHP中也是可行的,于是总结一下,分享的同时也希望有大神和细心的学习者找到我理解中

  • 问题内容: 我有以下一行, 我需要拿这个词ABC, 我写了以下代码片段, 所以,如果我说得到,ABC:但是如果我说是ABC,那么我想知道 这是什么和意味着什么呢?如果有人可以用很好的例子向我解释,那会更好。 正则表达式模式中包含一个:,为什么结果忽略了它?组1是否检测到括号内的所有单词? 因此,如果我再加上两个括号,例如:,那么会有两个小组吗?group(1)将退还零件并退还零件? 给出该代码段的

  • 我有一个带有(?:)格式的非捕获组的java正则表达式,我不明白为什么它为非捕获组提供“null”匹配。 如果我将下面的正则表达式缩短为“@te(st)(?:AA)?”使用相同的?:非捕获组,它给出了我认为的预期行为,只匹配1个组和完全匹配。