0

2 つの単語の間にある単語を検索しようとしていて、Java で Pattern クラスを使用しています。これまでのところ、私のコードは次のとおりです。

Pattern pattern = Pattern.compile("(?<=PlaintiffAtty_0).*?(?=</span>)");
Matcher matcher = pattern.matcher(sourcecode.toString());

        while (matcher.find()) {
            System.out.println(matcher.group().toString()); 

最初のパターンワード「PlaintiffAtty_0」は、数が増えると変化していくので、変数として使いたいと思います。毎回文字列を変更する代わりに、そこに変数を挿入するにはどうすればよいでしょうか?

4

1 に答える 1

3

文字列連結を使用Pattern.quoteし、文字列内の特殊文字が文字どおりに処理されるようにします。

Pattern.compile("(?<="+Pattern.quote(myString)+").*?(?=</span>)");

wheremyStringは変数、メソッド呼び出し、配列へのアクセスなどです。

于 2013-09-25T21:41:52.727 に答える