0

我正在尝试在两个单词之间搜索一个单词,并在 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>)");

其中myString是变量、方法调用、对数组的访问等。

于 2013-09-25T21:41:52.727 回答