2016-03-04 68 views
-3

检查模式是否与句子匹配。换句话说,检查模式中的所有单词是否与模式的顺序相同。如果模式匹配,则方法返回模式字词之前,之间和之后的短语。如果模式不匹配,则返回null。如何检查句子中的模式

有人能帮我找出这个任务的最佳算法吗?这是在Java中创建一个新的方法。

+1

那么你的意思是正则表达式(正则表达式)? –

+0

你可以在这里看到答案:http://stackoverflow.com/questions/7938033/string-pattern-matching-in-java – Aajan

回答

0

您可以使用

contains() 

功能。将该短语存储在字符串中,如str。然后使用if语句

if(str.contains("<variable(s)>")) 

随后是您的操作。

0

你想要做的就是使用Lookahead和Lookbehind,如下所示。

private static String[] splitRegex(String input, String regex) { 
    String[] splitString= input.split("((?<=" + regex + ")|(?=" + regex + "))"); 
    if (splitString.length>1){ 
     return splitString; 
    }else { 
     return new String[]{}; 
    } 
}