java - Java 中的多重模式匹配

标签 java regex string

到目前为止,我正在使用下面找到的方法来测试针对语句的模式,但我想知道应该如何处理/尝试匹配多个模式与单个语句。

我应该将模式存储在数组中并将它们与语句进行匹配,还是有更有效(也许不太复杂)的方法?

public class StringConvenience {

    public static void main(String[] argv) {
        String pattern = ".*Q[^u]\\d+\\..*";
        String line = "Order QT300. Now!";

        if (line.matches(pattern)) {
            System.out.println(line + " matches \"" + pattern + "\"");
        } else {
            System.out.println("NO MATCH");
        }
    }
}

最佳答案

这并不难。只需使用数组和 for 循环即可。它有效且简单。

String line = "Order QT300. Now!";
String[] pattern = new String[3];
pattern[0] = ".*Q[^u]\\d+\\..*";
pattern[1] = ".*?";
pattern[2] = "ABC";

for (String pat : pattern) {
    if (line.matches(pat)) {
        System.out.println(line + " matches \"" + pat + "\"");
    } else {
        System.out.println("NO MATCH");
    }
}

关于java - Java 中的多重模式匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35701456/

相关文章:

java - spring 3.2.4 应该使用哪个版本的 mybatis 和 mybatis-spring jar?

java - Spring批处理元数据表的问题

regex - 可选组未被捕获

php - 可选的非捕获组正则表达式

java - 为什么字节数据在字节和字符串之间转换时会发生变化?

string - VB6 文本框字体粗细操作

string - 德尔福东京 - 功能 : String to Hex and Hex to String

java - 如何在调整窗口大小时自动调整 BorderPane 上按钮的大小?

java - 使用键值对解析字符串响应并将它们添加到映射或数组中

java - 使用 JDBC 将值插入 SQL 数据库