0


行ns*.abc.com
ns * .xyz.comを含む辞書ファイルがあります
。ns15.abc.com、nsABC.abc.comなどのパターンを辞書ファイルと照合してtrueを返します。たとえば、ns15.abc.comは一致しますが、ns16.ABC.abc.comは一致しません。前もって感謝します

public class ValidateDemo {  
    public static void main(String[] args) {  
    List<String> input = new ArrayList<String>();  

    input.add("ns14.abc.com");
    for (String str : input) {
        if (str.matches("ns*.abc.com")) {
            System.out.println("Match: " + str);
        }
    }
}
}
4

1 に答える 1

0

"[^\.]*"辞書の各エントリで、アスタリスクをに、ドットをに置き換えます"\."。個々のエントリにはパターンがあります。

    Pattern p = Pattern.compile("^" + dictEntry.replaceAll(".", "\\.").replaceAll("*", "[^\\.]*") + "$");

または、すべての辞書エントリを「|」で結合することもできます それらすべてに一致する単一のパターンを持つこと。

于 2013-01-15T23:42:07.753 に答える