/* * by Hans Schou * http://w0.dk/~chlor/gpstracker/ * * RegEx * http://java.sun.com/j2se/1.4.2/docs/api/java/util/regex/package-frame.html * * Test: * javac GpsTrackMaps.java && java GpsTrackMaps "lat: 55.717065 long: 012.512901 speed: 000.0 02/01/10 08:51 bat:F signal:L help me imei:359587074632486" * Output: * lat: 55.717065 long: 012.512901 speed: 000.0 02/01/10 08:51? bat:F signal:L help me imei:359587074632486 * */ import java.util.regex.*; public class GpsTrackMaps { final static String regExGpsTrackerTk102 = "^(.*)(lat: )(\\d+\\.\\d+)([ns]* *long: *)(\\d+\\.\\d+)([ew]*.*)$"; public static void main(String[] args) { for (final String smsText: args) { System.out.println("smsText: " + smsText); final Matcher m = Pattern.compile(regExGpsTrackerTk102).matcher(smsText); if (m.find()) { final String msg = "" + m.group(1) // First text + "" + m.group(2) // Anchor text + m.group(3) + m.group(4) + m.group(5) + "" + m.group(6) // Trailing text ; System.out.println("Match: '" + msg + "'"); } } } }