1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | import java.util.*; import java.lang.*; class Main { private static void test (String regex, String replace, int repetitions) { long startTime = System.currentTimeMillis(); for (int i = 0; i < repetitions; i++) { String str = "30-Nov-2012 United Kingdom, 31-Oct-2012 31-Oct-2012 United Arab Emirates, 29-Oct-2012 31-Oct-2012 India, "; str.replaceAll(regex, replace); } long endTime = System.currentTimeMillis(); System.out.println("Execution time: " + Long.toString(endTime - startTime)); } public static void main (String[] args) throws java.lang.Exception { test("(\\d{4})\\s", "$1@", 10000); test("(?<=\\d{4})\\s", "@", 10000); test("(\\d{4})\\s", "$1@", 10000); test("(?<=\\d{4})\\s", "@", 10000); test("(\\d{4})\\s", "$1@", 10000); test("(?<=\\d{4})\\s", "@", 10000); test("(\\d{4})\\s", "$1@", 10000); test("(?<=\\d{4})\\s", "@", 10000); } } |
aW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CiAKY2xhc3MgTWFpbgp7CiAgICBwcml2YXRlIHN0YXRpYyB2b2lkIHRlc3QgKFN0cmluZyByZWdleCwgU3RyaW5nIHJlcGxhY2UsIGludCByZXBldGl0aW9ucykKICAgIHsKICAgICAgICBsb25nIHN0YXJ0VGltZSA9IFN5c3RlbS5jdXJyZW50VGltZU1pbGxpcygpOwogICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwgcmVwZXRpdGlvbnM7IGkrKykKICAgICAgICB7CiAgICAgICAgICAgIFN0cmluZyBzdHIgPSAiMzAtTm92LTIwMTIgVW5pdGVkIEtpbmdkb20sIDMxLU9jdC0yMDEyIDMxLU9jdC0yMDEyIFVuaXRlZCBBcmFiIEVtaXJhdGVzLCAyOS1PY3QtMjAxMiAzMS1PY3QtMjAxMiBJbmRpYSwgIjsKICAgICAgICAgICAgc3RyLnJlcGxhY2VBbGwocmVnZXgsIHJlcGxhY2UpOwogICAgICAgIH0KICAgICAgICBsb25nIGVuZFRpbWUgPSBTeXN0ZW0uY3VycmVudFRpbWVNaWxsaXMoKTsKICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oIkV4ZWN1dGlvbiB0aW1lOiAiICsgTG9uZy50b1N0cmluZyhlbmRUaW1lIC0gc3RhcnRUaW1lKSk7CiAgICB9CiAgICAKICAgIHB1YmxpYyBzdGF0aWMgdm9pZCBtYWluIChTdHJpbmdbXSBhcmdzKSB0aHJvd3MgamF2YS5sYW5nLkV4Y2VwdGlvbgogICAgewogICAgICAgIHRlc3QoIihcXGR7NH0pXFxzIiwgIiQxQCIsIDEwMDAwKTsKICAgICAgICB0ZXN0KCIoPzw9XFxkezR9KVxccyIsICJAIiwgMTAwMDApOwogICAgICAgIHRlc3QoIihcXGR7NH0pXFxzIiwgIiQxQCIsIDEwMDAwKTsKICAgICAgICB0ZXN0KCIoPzw9XFxkezR9KVxccyIsICJAIiwgMTAwMDApOwogICAgICAgIHRlc3QoIihcXGR7NH0pXFxzIiwgIiQxQCIsIDEwMDAwKTsKICAgICAgICB0ZXN0KCIoPzw9XFxkezR9KVxccyIsICJAIiwgMTAwMDApOwogICAgICAgIHRlc3QoIihcXGR7NH0pXFxzIiwgIiQxQCIsIDEwMDAwKTsKICAgICAgICB0ZXN0KCIoPzw9XFxkezR9KVxccyIsICJAIiwgMTAwMDApOwogICAgfQp9
-
upload with new input
-
result: Success time: 1.01s memory: 246080 kB returned value: 0
Execution time: 164 Execution time: 140 Execution time: 96 Execution time: 135 Execution time: 95 Execution time: 133 Execution time: 94 Execution time: 130
Compare efficiency of captured groups vs. lookbehind assertions. See http://stackoverflow.com/questions/13153489/.


