我想檢查一個包含多個字符串的長字符串。Java模式包含數組中的所有字符串
我正在嘗試使用下面的命令。
String[] words = {"GAGGAG", "AGGAC"};
Pattern pattern = Pattern.compile("GAGGAG|AGGAC");
if(pattern.matcher("GAGGAGGTC").find()){
System.out.println("find");
}else{
System.out.println("Not find");
}
結果應該是沒有找到 因爲 「GAGGAGGTC」 包含 「GAGGAG」 但不包含 「AGGAC」
我怎能捨棄選項從 「或」 to 「和」
還有一個選項。
String[] words = {"GAGGAG", "AGGAC"};
Pattern pattern = Pattern.compile("GAGGAG|AGGAC");
if(pattern.matcher("GAGGAGGAC").find()){
System.out.println("find");
}else{
System.out.println("Not find");
}
這也應該顯示「找不到」。 因爲不允許重疊部分。 「GAGGAG」和「AGGAC」是重疊的「AG」的一部分,從「GAGGAGGAAC」
你有沒有使用正則表達式?使用'contains'要簡單得多。 – August
這可以幫助你http://stackoverflow.com/questions/469913/regular-expressions-is-there-an-and-operator – Upio