import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String[] args) {
final String regex = "(?s).*Ingredients(.*?)Preparation.*";
final String string = "Recipes & Menus\n"
+ "Expert Advice\n"
+ "Ingredients\n"
+ "Holidays & Events\n"
+ "Community\n"
+ "Video\n"
+ "SUMMER COOKING\n"
+ "Lentil and Brown Rice Soup\n"
+ "Gourmet January 1991\n"
+ "3.5/4\n"
+ "reviews (83)\n"
+ "90%\n"
+ "make it again\n"
+ "Some soups genuinely do inspire a devotion akin to love, and this is one of\n"
+ "them. In the cold of winter, when Gourmet editors ponder the matter of what soup\n"
+ "Cook\n"
+ "Reviews (83)\n"
+ "YIELD: Makes about 14 cups, serving 6 to 8\n"
+ "Ingredients\n"
+ "5 cups chicken broth\n"
+ "1 1/2 cups lentils, picked over and rinsed\n"
+ "1 cup brown rice\n"
+ "a 32- to 35-ounce can tomatoes, drained, reserving the juice, and chopped\n"
+ "3 carrots, halved lengthwise and cut crosswise into 1/4-inch pieces\n"
+ "1 onion, chopped\n"
+ "1 stalk of celery, chopped\n"
+ "3 garlic cloves, minced\n"
+ "1/2 teaspoon crumbled dried basil\n"
+ "1/2 teaspoon crumbled dried orégano\n"
+ "1/4 teaspoon crumbled dried thyme\n"
+ "1 bay leaf\n"
+ "1/2 cup minced fresh parsley leaves\n"
+ "2 tablespoons cider vinegar, or to taste\n"
+ "Preparation\n"
+ "In a heavy kettle combine the broth, 3 cups water, the lentils, the rice, the tomatoes with the reserved juice,";
final Pattern pattern = Pattern.compile(regex);
final Matcher matcher = pattern.matcher(string);
if (matcher.find()) {
System.out.println("Full match: " + matcher.group(0));
for (int i = 1; i <= matcher.groupCount(); i++) {
System.out.println("Group " + i + ": " + matcher.group(i));
}
}
}
}
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for Java, please visit: https://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html