Java 有人能帮我写一个正则表达式吗?

Java 有人能帮我写一个正则表达式吗?,java,javascript,android,html,regex,Java,Javascript,Android,Html,Regex,我正在为我的应用程序做一个搜索函数,我需要一个好的正则表达式。现在,当用户搜索RAC时,它是一个乐队名称,它会返回我所有标题中有字母RAC的帖子。但是,这有点不正确,只能由正则表达式修复。我将提供一些例子,并说明是否应包括这些例子 斯莱爵士-奇迹:不包括 RAC-放手:包括 Amtrac-漫游:不包括 巴士底狱-劳拉·帕尔默RAC混音:包括 冷战儿童-奇迹英里:不包括 MNDR-喂我Diamons ft.RAC:包括 有人有一个好的正则表达式可以帮我吗?另外,您可以测试正则表达式。编辑:这是一个

我正在为我的应用程序做一个搜索函数,我需要一个好的正则表达式。现在,当用户搜索RAC时,它是一个乐队名称,它会返回我所有标题中有字母RAC的帖子。但是,这有点不正确,只能由正则表达式修复。我将提供一些例子,并说明是否应包括这些例子

斯莱爵士-奇迹:不包括 RAC-放手:包括 Amtrac-漫游:不包括 巴士底狱-劳拉·帕尔默RAC混音:包括 冷战儿童-奇迹英里:不包括 MNDR-喂我Diamons ft.RAC:包括 有人有一个好的正则表达式可以帮我吗?另外,您可以测试正则表达式。

编辑:这是一个Java解决方案-如果不是预期的语言,请改进您的标记

您可以使用单词边界和区分大小写的模式,例如:

String[] inputs = {"Sir Sly - Miracle",// : DON'T INCLUDE
        "RAC - Let Go",// : INCLUDE
        "Amtrac - Walkin'",// : DON'T INCLUDE
        "Bastille - Laura Palmer (RAC Remix)",// : INCLUDE
        "Cold War Kids - Miracle Mile",// : DON'T INCLUDE
        "MNDR - Feed Me Diamons (ft. RAC)"// : INCLUDE
        };
Pattern p = Pattern.compile("\\bRAC\\b");
for (String input: inputs) {
    Matcher m = p.matcher(input);
    System.out.printf("%s --> found ? %b%n", input, m.find());
}
输出


有许多工具可以帮助您,而不是滚动您自己的解决方案。您是否考虑过类似的解决方案。。。但效率更高 为了避免分配无用的对象


为什么这个标签是Java和JavaScript?您实际使用的是哪种语言?这比Mena的答案效率低很多,而不是更高。
Sir Sly - Miracle --> found ? false
RAC - Let Go --> found ? true
Amtrac - Walkin' --> found ? false
Bastille - Laura Palmer (RAC Remix) --> found ? true
Cold War Kids - Miracle Mile --> found ? false
MNDR - Feed Me Diamons (ft. RAC) --> found ? true
String[] bands =  {"Sir Sly - Miracle",// : DON'T INCLUDE
                   "RAC - Let Go",// : INCLUDE
                   "Amtrac - Walkin'",// : DON'T INCLUDE
                   "Bastille - Laura Palmer (RAC Remix)",// : INCLUDE
                   "Cold War Kids - Miracle Mile",// : DON'T INCLUDE
                   "MNDR - Feed Me Diamons (ft. RAC)",// : INCLUDE
};

for(String s : bands){
    if(Pattern.matches(".*(RAC).*", s))
            System.out.printf("%s\n",s);
}