// include the latest version of the regex crate in your Cargo.toml
extern crate regex;
use regex::Regex;
fn main() {
let regex = Regex::new(r"(?:import.+\bExifInterface\b|(?!^)\G)[\S\s]+?\K\bnew\s+ExifInterface\s*\([\S\s]+?\)").unwrap();
let string = "import android.graphics.Point;
import android.media.ExifInterface;
import android.view.WindowManager;
import java.io.IOException;
public class MediaUtils {
/* renamed from: a */
public static float m13571a(String str) {
if (str == null || str.isEmpty()) {
throw new IllegalArgumentException(\"getRotationDegreeForImage requires a valid source uri!\");
}
try {
int attributeInt = new ExifInterface(str).getAttributeInt(\"Orientation\", 1);
if (attributeInt == 3) {
return 180.0f;
new ExifInterface(str).getAttributeInt(\"Orientation\", 1);
}
if (attributeInt == 6) {
return 90.0f;
}
if (attributeInt != 8) {
return 0.0f;
}
return 270.0f;
} catch (IOException | StackOverflowError e) {
e.printStackTrace();
return 0.0f;
}";
// result will be an iterator over tuples containing the start and end indices for each match in the string
let result = regex.captures_iter(string);
for mat in result {
println!("{:?}", mat);
}
}
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 Rust, please visit: https://docs.rs/regex/latest/regex/