const/16\s+(\S+),\s+(\S+)((?!const)[\s\S])*?move.*\s+(\S+),\s+\1[\s\S]*?(invoke-static/range\s+(\{\4[^}]+\}),\s+Lru/App;->i\(([^)]*)\)(?:V|(\S+)\s+(\S+\s+(\S+))))
const/16 v18, 0x9a5
move v0, v18
const/16 v18, 0x4fd
move/from16 v0, v18
move-object/from16 v1, v20
move-object/from16 v2, v21
move-object/from16 v16, v35
move-object/from16 v17, v36
invoke-static/range {v0 .. v17}, Lru/App;->i(ILjava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;ILjava/lang/Object;Ljava/lang/Object;ZLjava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/ObjectLjava/lang/Object;
move-result-object v20
Применяю такую регулярку, к такому тексту. Хочу получить текст от const/16 v18
до move-result-object v20
. А получаю от самого крайнего const/16 v18
, нужно от самого ближайшего const/16 v18
. Подскажите почему не работает, где ошибка ?