gpt4 book ai didi

java - 将字符串的内容与模式进行匹配

转载 作者:行者123 更新时间:2023-12-02 00:47:41 24 4
gpt4 key购买 nike

我正在努力创建一个与字符串的 matches() 方法一起使用的正则表达式匹配模式。我的字符串值类似于 -

3012145A_20348409-146139460.ABCDxyzPQr.1.1.xml

我正在使用 String.matches("regex") 方法,但说实话,我正在努力创建与此类字符串值匹配的模式。我确实尝试了一些不同的组合,但徒劳无功。在互联网上搜索了一些例子。尽管长度可能有所不同,但这些值始终采用相似的格式。

非常感谢任何帮助。

<小时/>

仅匹配 .xml 还有更多内容
好吧,除了给出的示例之外,列表中还会有其他值,所以我需要像这样进行匹配

3012145A_20348409-146139460.ABCDxyzPQr.1.1.xml  

值列表可能类似于 -

3012145A_20348409-146139460.ABCDxyzPQr.1.1.xml
3012145_Error.xml
3012145_UK.pdf
3012145A_20348409.ABC.10.10.10.xml

我需要其中的第一个值

(alphanum)(underscore)(num)(hyphen)(num)(dot)(aLpHa)(dot)(num)(dot)(num)(dot)(.xml)  

我试过了 -

s.matches("[a-zA-Z0-9]_[0-9]-[0-9].[a-zA-Z].[0-9].[0-9].xml");

最佳答案

要求:

(字母数字)(下划线)(数字)(连字符)(数字)(点)(aLpHa)(点)(数字)(点)(数字)(点)(.xml)

假定的正则表达式:

\w*_\d*-\d*\.([a-zA-Z])*\.\d*\.\d*(\.)?\.xml

在 java 中,这将转换为:

模式 p = Pattern.compile("\\w*_\\d*-\\d*\\.([a-zA-Z])*\\.\\d*\\.\\d*(\\.)?\\.xml",Pattern.CASE_INSENSITIVE);

注意

由于我使用的是[a-zA-Z],您可能不需要Pattern.CASE_INSENSITIVE

正则表达式有问题:s.matches("[a-zA-Z0-9]_[0-9]-[0-9].[a-zA-Z].[0-9 ].[0-9].xml");

您正在寻找 alphanumberalphanumeric 的单个实例。使用 *+ 元字符。

希望这有帮助。

关于java - 将字符串的内容与模式进行匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4470333/

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