gpt4 book ai didi

Java正则表达式包含搜索

转载 作者:行者123 更新时间:2023-11-30 08:05:40 25 4
gpt4 key购买 nike

我有一个Java应用程序,用户将以特定格式提供具有文件名的文件。例如:james-fcanada-csmith-l.txt

其中 -f 是名字的指示符,-c 是国家/地区的指示符,-l 是姓氏的指示符。

为此,我创建了这个正则表达式 ([\w\d\s].*)-f([\w\d\s].*)-c([\w\d\s]. *)-l,并且工作正常。

但是,如果用户更改字段顺序,例如 smith-ljames-fcanada-c.txt (首先添加姓氏),则此正则表达式将不起作用..

请建议如何使用正则表达式来实现此类要求。

此外,请告诉我是否还有其他更好的方法来实现这一目标。

最佳答案

解决问题的一种简单方法可能是使用三个单独的正则表达式,然后依次运行。

对于 -f 使用这个:

^([^-]*-[^f])*([^-]*?)-f([^-]*-[^f])*\..*$

http://regexr.com/3bab0

另一个更复杂的解决方案可能是使用像 antlr 这样的解析器,这对于这个用例来说可能太复杂了。

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

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