gpt4 book ai didi

java - 如何在 Java 中声明匹配模式?

转载 作者:行者123 更新时间:2023-12-02 07:13:51 24 4
gpt4 key购买 nike

在我的 Java 应用程序中,我尝试读取文本文件并仅将一些字符串组添加到 HashMap 中。我正在使用匹配模式来查找字符串,但没有得到正确的字符串。我的文本文件内容是

S Fr:                                     tod : 80089789kid#00332001897678    cno :  890768cuon          #PKGS             WEIGHT 51235

Pattern pattern = Pattern.compile("(tod:[0-9]{0,}|kid#[0-9]{0,})|Cno:[0-9]{0,}|CUON  [0-9]{0,}");
while ((strLine = br.readLine()) != null) {
strLine= strLine.trim();
Matcher m1 = pattern.matcher(strLine);
while (m1.find())
allv.add(m1.group());

最佳答案

正则表达式的问题在于,正则表达式要求您特别指出是否会有空格。例如

托德:80089789

与正则表达式不匹配

托德:[0-9]{0,}

但它与正则表达式匹配

托德:[0-9]{0,}

或更一般的

tod\s*:\s*[0-9]{0,}

\s 表示“空白字符”,* 表示“执行前一操作 0 次或多次”。事实上,为了清楚起见,您可以将所有 {0,} 替换为 *

关于java - 如何在 Java 中声明匹配模式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15197136/

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