Обновление: После проверки документов я обнаружил флаг LAZY, что является еще одним термином для нежадных. Однако он доступен только в OpenJDK
p = Pattern.compile("your regex here", LAZY);
p.matcher("string to match")
Оригинальный устаревший ответ
Я, честно говоря, не думаю, что есть один.
Весь смысл +? а также *? чтобы вы могли выбирать, какие разделы делать жадно, а какие лениво.
Жадность - это поведение по умолчанию, потому что это наиболее часто используемые + и * в регулярных выражениях. На самом деле я не могу думать об одном парсере регулярных выражений, который делает это наоборот. Например, когда модификатор используется для создания чего-то жадного, и по умолчанию используется ленивое соответствие.
Я знаю, что это не тот ответ, который вы ищете, но я думаю, что единственный способ заставить вас работать - добавить? на ваши * и +. С другой стороны, вы можете использовать регулярные выражения, чтобы определить, какие из них необходимо изменить. Или даже внести изменения для вас, если все они должны быть изменены. Или, если вы можете, можете описать шаблон, который определяет, что необходимо изменить.