如何在java中解析时排除关键字中的关键字

时间:2014-09-21 19:17:52

标签: java regex

我需要解析一个输入句子。 我有一个包含" MCA"和" CA",这个列表迭代输入句子以查找它是否包含它们。 但是如果输入句子只包含" MCA" ,我得到输出,因为它包含两个关键字,但实际上它只包含一个单词。

我应该如何处理这个问题?

1 个答案:

答案 0 :(得分:0)

如果您尝试将关键字视为不同的字词,则可以尝试撰写正则表达式,并使用\b代币围绕关键字。这个标记匹配两个单词之间的边界。

以下是一些如何运作的例子:

    System.out.println("MCA".matches(".*\\bCA\\b.*")); // false
    System.out.println("CA".matches(".*\\bCA\\b.*"));  // true
    System.out.println("M,CA".matches(".*\\bCA\\b.*"));  // true

另请注意,如果关键字可以包含特定于正则表达式的特殊字符,则需要在编写正则表达式之前正确转义它们。