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

Java正则表达式匹配路径的一部分[重复]

匡翰
2023-03-14

我试图检查所选择的路径对于我的Java程序是否是有效的路径。为了有效,它必须与路径< code > E:\ test \(some foldername)\ 匹配。所选择的文件夹可以在该目录中更深。

这是我尝试过的:

String a = "E:\\test\\anotherFolder";
if (a.matches("E:\\\\btest\\b\\.*")) {
    System.out.println("match");
}

我也尝试过将测试放入[],但没有成功。

< code>\b将标记一个单词边界的开始,再次添加< code>\b将关闭它,对吗?

<代码>。*将匹配任意字符1到无限次。

那么,逃跑有问题吗?还是我需要以不同的方式对其进行分组?

共有1个答案

赵永逸
2023-03-14

java正则表达式中转义特殊字符可能重复。

您需要更多反斜杠。“Java 字符串中的 4 个斜杠在正则表达式模式中变成了 2 个斜杠。正则表达式模式中的 2 个反斜杠与反斜杠本身匹配。

 类似资料:
  • 我想匹配单词的一部分,如果模式中单词的长度小于我匹配的字符串,则可以匹配,例如: 输出为true。但是,如果单词长度较大,则返回false,例如: 那么,我怎样才能只匹配单词的一部分呢?

  • 问题内容: 在下面的代码中: 结果是: 我希望成为 如何实现? 问题答案: 使匹配器尝试从后者开始下一个扫描。

  • 问题内容: 我想要一个正则表达式从HTML页面提取标题。目前我有这个: 是否有一个正则表达式仅提取 的内容,所以我不必删除标签? 问题答案: 用在正则表达式和python中检索捕获的字符串(将返回如果没有找到结果,所以 不要用直接):

  • 问题内容: 当字符串以数字开头时,我需要匹配,然后是一个点,然后是一个空格和1个或多个大写字符。匹配必须发生在字符串的开头。我有以下字符串。 我尝试过的正则表达式是: 它不匹配。一个有效的正则表达式将对这个问题有什么作用? 问题答案: (对不起,我先前的错误。大脑现在坚定地投入了。嗯,也许。) 这有效: 分解: =字符串开头 =一个或多个数字 (之所以转义,是因为它在字符串中,因此) =文字(或者

  • 问题内容: 我从以下格式的文件中获取输入: 现在,我想在我的Java代码中读取int1,int2,int3和int4。我该如何在Java中使用正则表达式匹配。谢谢。 问题答案: 为了避免空值:

  • 问题内容: 我试图创建下面的正则表达式:返回之间的字符串和(或或)从下列字符串RNA: ,让所有的比赛会被发现,包括重叠的。 我尝试了几种正则表达式,最后得到了类似的结果: 您能告诉我我的正则表达式模式中的错误吗? 问题答案: 用一个正则表达式执行此操作实际上是非常困难的,因为大多数用法 都不 希望重叠匹配。但是,您可以通过一些简单的迭代来做到这一点: 虽然,这有一些问题。您希望得到的回报是什么?