我试图在两个单词之间搜索一个单词,并且正在使用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”将随着数字的增加而改变,所以我想将它用作变量。如何在那里插入变量而不必每次都更改字符串?
答案 0 :(得分:3)
使用字符串连接和Pattern.quote
来确保字符串中的任何特殊字符都按字面处理:
Pattern.compile("(?<="+Pattern.quote(myString)+").*?(?=</span>)");
其中myString
是变量,方法调用,对数组的访问等等。