gpt4 book ai didi

Java正则表达式搜索两个文件名

转载 作者:行者123 更新时间:2023-12-01 16:47:20 27 4
gpt4 key购买 nike

我需要一些有关 Java 正则表达式的帮助。
我有两个文件:

file_201111.txt.gz
file_2_201111.txt.gz

我需要一个正则表达式来搜索这两个文件。

如果我使用file_[0-9]+.txt.gz,如果我使用file_[0-9]_[0-9]+.txt,我会得到第一个文件.gz 我得到第二个文件。

如何组合两种搜索模式来搜索这两个文件?

谢谢

最佳答案

简介

由于您尚未指定所有文件的实际格式,因此我将向您提供几个正则表达式,您可以使用最符合您需求的一个。

<小时/>

代码

方法1

这匹配任意数量的 _ 和数字。

See regex in use here

file[_\d]+\.txt\.gz

对于所有仇恨者,是的,它将匹配file_.txt.gz,因此为了防止这种情况,您可以使用 file(?:_\d+)+\.txt\.gz相反。

方法2

这与一个或两个 _number 模式匹配,其中 number 表示任何数字(1+ 位数字)。

See regex in use here :下面的两种模式完成同样的事情。

file(?:_\d+){1,2}\.txt\.gz
file_\d+(?:_\d+)?\.txt\.gz
<小时/>

说明

方法1

  • 文件按字面意思匹配
  • [_\d]+ 匹配集合中的一个或多个任意字符(_ 或数字)
  • \.txt\.gz 按字面意思匹配(请注意,\. 与字面点字符 . 匹配)

方法2

  • 文件按字面意思匹配
  • (?:_\d+){1,2} 匹配 _\d+(下划线后跟一个或多个数字)一次或两次
    • 请注意,第二个选项 _\d+(?:_\d+)? 本质上是相同的。
  • \.txt\.gz 逐字匹配(请注意,\. 匹配文字点字符 .)

关于Java正则表达式搜索两个文件名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47913233/

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