import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String[] args) {
final String regex = "(?:Expiration Fee: )?(\\d+)\\s+((?:[a-zA-Z\\d\\/]+\\s+)*)(?:\\(([a-zA-Z]+)\\)\\s+)?(?:>([0-9.]+)\\s+)?(?:([\\d.]+-[\\d.]+)\\s*)?(?:\\((\\d{1,2}(?::\\d{2})?[AP]M)\\)\\s+)?(?:@\\s+([\\d.]+))?";
final String string = "Expiration Fee: 10 LONG AUD/USD >.8189 (9:50AM) @ 90.5\n"
+ "10 Wall St 30 (Mar) >17900 (4:15PM) @ 69.5\n"
+ "2 AUD/USD >.8114 (11:35AM) @ 97.5\n"
+ "Expiration Fee: 1 SHORT AUD/USD >.8114 (11:35AM) @ 87\n"
+ "2 Wall St 30 (Mar) 18000-18100 (12PM) @ 18023\n"
+ "2 LONG US Tech 100 (Mar) >4284 (1:15PM) @ 56.5\n"
+ "1 EUR/USD >1.2180 (3PM) @ 41.5\n"
+ "Expiration Fee: 1 SHORT AUD/USD >.8114 (11:35AM) @ 87\n"
+ "Expiration Fee: 1 LONG GBP/USD >1.5090 (8:55PM) @ 95.5\n"
+ "Expiration Fee: 2 SHORT US 500 (Mar) >2037.7 (10AM) @ 5.5\n"
+ "Expiration Fee: 1 SHORT EUR/USD >1.1582 (2:20PM) @ 11.5\n"
+ "6 SHORT GBP/USD >1.5200 (3:10PM) @ 22.3333\n"
+ "Expiration Fee: 1 SHORT GBP/USD >1.5085 (8PM) @ 17.5\n"
+ "Expiration Fee: 1 SHORT EUR/GBP >.7340 (3PM) @ 33.25\n"
+ "2 Wall St 30 (Mar) 18000-18100 (12PM) @ 18023\n"
+ "Expiration Fee: 5 LONG US Tech 100 (Mar) 4190-4390 (4:15PM) @ 4291\n"
+ "2 LONG Wall St 30 (Mar) >18000 (1:15PM) @ 53.5\n"
+ "1 AUD/USD .7570-.7670 (2PM) @ 0.7626\n"
+ "1 US 500 (Jun) 2075.0-2085.0\n"
+ "1 US 500 (Jun) 2075.0-2085.0 (1PM) @ 2079\n"
+ "1 AUD/USD .7570-.7670 (2PM) @ 0.7626\n"
+ "2 AUD/USD .8020-.8220 (11PM) @ 0.8118";
final Pattern pattern = Pattern.compile(regex);
final Matcher matcher = pattern.matcher(string);
while (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