You have a loop here:
while (caseDefendantMatcher.find()) {
docketFile.write(caseDefendantMatcher.group().toString());
}
This loop will find and print all the matches. If you only want the first match then don't loop:
String caseDefendant = "vs.";
Pattern caseDefendantPattern = Pattern.compile("(?<="+Pattern.quote(caseDefendant)+").*?(?=</span>)");
Matcher caseDefendantMatcher = caseDefendantPattern.matcher(pageContentString);
if (caseDefendantMatcher.find()) {
docketFile.write(caseDefendantMatcher.group().toString());
}
docketFile.write("^");