gpt4 book ai didi

java - 有没有一种为模式构建 Java 正则表达式的动态方法?

转载 作者:塔克拉玛干 更新时间:2023-11-02 18:59:31 26 4
gpt4 key购买 nike

我正在将 perl 程序转换为 java。在 perl 脚本中,根据数百个正则表达式模式检查从文件中读取的值。我不想像在原始 perl 程序中那样静态地执行此操作。是否有任何类型的设计模式可用于使其更具动态性?

这是当前代码的一行:

$flag++ if ($Part_Name =~ /(harmonic|nsg|white\ sands|sphix|battery|collection|allied)/i);

现在再重复 50-60 行,这就是行数。正在测试的唯一字符串实际上是独立的,最后我们只关心 if ($flag > 0)。

最佳答案

看起来您实际上不需要使用正则表达式。

只需创建一个包含您要检查的内容的数组(例如,“harmonic”、“white sands”)并在该数组上循环执行包含操作:valueFromFile.contains(arrayItem)

如果匹配,则设置标志并退出。不要忘记将 valueFromFile 小写,这样您就可以不区分大小写了。

如果您确实需要正则表达式,请使用 matches 而不是 contains

注意:可能有一种方法可以在不显式循环数组的情况下执行此操作,但我已经有一段时间没有编写 Java 了(如果有,请随时编辑)。

关于java - 有没有一种为模式构建 Java 正则表达式的动态方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8829111/

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