根据字符串内容中的搜索模式突出显示单词

时间:2016-01-28 14:40:50

标签: java regex

我正在尝试使用正则表达式编写示例java程序,该表达式根据给定的模式突出显示字符串内容中的单词。 我试过以下代码。但没有运气

Pattern pattern = Pattern.compile(".*(test).*", Pattern.CASE_INSENSITIVE);
String replaceAll = pattern.matcher(str).replaceAll("<span>$1</span>");

Ex 1:

input content : i am testing a program
input pattern : test*
expected : i am <span>testing<span> a program

前2:

input content : i am testing a program
input pattern : test
expected : i am <span>test<span>ing a program

提前致谢。

1 个答案:

答案 0 :(得分:2)

试试这个。

    String input = "i am testing a program";
    System.out.println(input.replaceAll("(?i)test\\S*", "<span>$0</span>"));
    // -> i am <span>testing</span> a program
    System.out.println(input.replaceAll("(?i)test", "<span>$0</span>"));
    // -> i am <span>test</span>ing a program

(?i)表示CASE_INSENSITIVE。