gpt4 book ai didi

java - 正则表达式匹配最后一部分的问题

转载 作者:行者123 更新时间:2023-12-01 09:00:52 25 4
gpt4 key购买 nike

我有以下正则表达式:

solo_LL01_[\p{Alnum}|-]+_\d{10}_V\d{4}(1[0-2]|0[1-9])(3[01]|[12][0-9]|0[1-9])(2[0-3]|[01][0-9])([0-5][0-9])(I|C)?(_firsttest)?\.fits$

匹配对象:

solo_LL01_eui-fsi-174_0715246200_V201607271145C_firsttest.fits

我想将第一个测试文本设为任何数字/字符。我尝试了一些变体,例如:

solo_LL01_[\p{Alnum}|-]+_\d{10}_V\d{4}(1[0-2]|0[1-9])(3[01]|[12][0-9]|0[1-9])(2[0-3]|[01][0-9])([0-5][0-9])(I|C)?(_[\p{Alnum}_])?\.fits$

但似乎只是让它发挥作用。非常感谢您的帮助

最佳答案

查看 Pattern 的文档,特别是关于“预定义字符类”的部分:

\w A word character: [a-zA-Z_0-9]

和“量词”:

X* : X, zero or more times

X+ : X, one or more times

以下内容应匹配任意数量的字符/数字:-

[\w]*

对于一个或多个字符或数字:-

[\w]+

事实上,您尝试的也是正确的,只是您错过了量词 *(任意数量的匹配项)或 +(1 个或多个匹配项)...所以您的正则表达式只需:-

solo_LL01_[\p{Alnum}|-]+_\d{10}_V\d{4}(1[0-2]|0[1-9])(3[01]|[12][0-9]|0[1-9])(2[0-3]|[01][0-9])([0-5][0-9])(I|C)?(_[\p{Alnum}_]*)?\.fits$

solo_LL01_[\p{Alnum}|-]+_\d{10}_V\d{4}(1[0-2]|0[1-9])(3[01]|[12][0-9]|0[1-9])(2[0-3]|[01][0-9])([0-5][0-9])(I|C)?(_[\p{Alnum}_]+)?\.fits$

取决于您要使用的量词(* 或 +)

关于java - 正则表达式匹配最后一部分的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41679517/

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