Last active
August 29, 2015 13:59
-
-
Save rklemme/10451386 to your computer and use it in GitHub Desktop.
Test program for a specific number match.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
i = 0 | |
s = '0' | |
s = '0foo' | |
s = '0bar ' | |
s = '020' | |
s = 'foo0' | |
s = 'foo0foo' | |
s = 'foo0bar ' | |
s = 'foo020' | |
s = 'bar 0' | |
s = 'bar 0foo' | |
s = 'bar 0bar ' | |
s = 'bar 020' | |
s = '200' | |
s = '200foo' | |
s = '200bar ' | |
s = '20020' | |
i = 1 | |
s = '1' | |
Matches: '1' | |
Finds: '1' | |
s = '1foo' | |
Finds: '1' | |
s = '1bar ' | |
Finds: '1' | |
s = '120' | |
s = 'foo1' | |
Finds: '1' | |
s = 'foo1foo' | |
Finds: '1' | |
s = 'foo1bar ' | |
Finds: '1' | |
s = 'foo120' | |
s = 'bar 1' | |
Finds: '1' | |
s = 'bar 1foo' | |
Finds: '1' | |
s = 'bar 1bar ' | |
Finds: '1' | |
s = 'bar 120' | |
s = '201' | |
s = '201foo' | |
s = '201bar ' | |
s = '20120' | |
i = 2 | |
s = '2' | |
Matches: '2' | |
Finds: '2' | |
s = '2foo' | |
Finds: '2' | |
s = '2bar ' | |
Finds: '2' | |
s = '220' | |
s = 'foo2' | |
Finds: '2' | |
s = 'foo2foo' | |
Finds: '2' | |
s = 'foo2bar ' | |
Finds: '2' | |
s = 'foo220' | |
s = 'bar 2' | |
Finds: '2' | |
s = 'bar 2foo' | |
Finds: '2' | |
s = 'bar 2bar ' | |
Finds: '2' | |
s = 'bar 220' | |
s = '202' | |
s = '202foo' | |
s = '202bar ' | |
s = '20220' | |
i = 3 | |
s = '3' | |
Matches: '3' | |
Finds: '3' | |
s = '3foo' | |
Finds: '3' | |
s = '3bar ' | |
Finds: '3' | |
s = '320' | |
s = 'foo3' | |
Finds: '3' | |
s = 'foo3foo' | |
Finds: '3' | |
s = 'foo3bar ' | |
Finds: '3' | |
s = 'foo320' | |
s = 'bar 3' | |
Finds: '3' | |
s = 'bar 3foo' | |
Finds: '3' | |
s = 'bar 3bar ' | |
Finds: '3' | |
s = 'bar 320' | |
s = '203' | |
s = '203foo' | |
s = '203bar ' | |
s = '20320' | |
i = 4 | |
s = '4' | |
Matches: '4' | |
Finds: '4' | |
s = '4foo' | |
Finds: '4' | |
s = '4bar ' | |
Finds: '4' | |
s = '420' | |
s = 'foo4' | |
Finds: '4' | |
s = 'foo4foo' | |
Finds: '4' | |
s = 'foo4bar ' | |
Finds: '4' | |
s = 'foo420' | |
s = 'bar 4' | |
Finds: '4' | |
s = 'bar 4foo' | |
Finds: '4' | |
s = 'bar 4bar ' | |
Finds: '4' | |
s = 'bar 420' | |
s = '204' | |
s = '204foo' | |
s = '204bar ' | |
s = '20420' | |
i = 5 | |
s = '5' | |
Matches: '5' | |
Finds: '5' | |
s = '5foo' | |
Finds: '5' | |
s = '5bar ' | |
Finds: '5' | |
s = '520' | |
s = 'foo5' | |
Finds: '5' | |
s = 'foo5foo' | |
Finds: '5' | |
s = 'foo5bar ' | |
Finds: '5' | |
s = 'foo520' | |
s = 'bar 5' | |
Finds: '5' | |
s = 'bar 5foo' | |
Finds: '5' | |
s = 'bar 5bar ' | |
Finds: '5' | |
s = 'bar 520' | |
s = '205' | |
s = '205foo' | |
s = '205bar ' | |
s = '20520' | |
i = 6 | |
s = '6' | |
Matches: '6' | |
Finds: '6' | |
s = '6foo' | |
Finds: '6' | |
s = '6bar ' | |
Finds: '6' | |
s = '620' | |
s = 'foo6' | |
Finds: '6' | |
s = 'foo6foo' | |
Finds: '6' | |
s = 'foo6bar ' | |
Finds: '6' | |
s = 'foo620' | |
s = 'bar 6' | |
Finds: '6' | |
s = 'bar 6foo' | |
Finds: '6' | |
s = 'bar 6bar ' | |
Finds: '6' | |
s = 'bar 620' | |
s = '206' | |
s = '206foo' | |
s = '206bar ' | |
s = '20620' | |
i = 7 | |
s = '7' | |
Matches: '7' | |
Finds: '7' | |
s = '7foo' | |
Finds: '7' | |
s = '7bar ' | |
Finds: '7' | |
s = '720' | |
s = 'foo7' | |
Finds: '7' | |
s = 'foo7foo' | |
Finds: '7' | |
s = 'foo7bar ' | |
Finds: '7' | |
s = 'foo720' | |
s = 'bar 7' | |
Finds: '7' | |
s = 'bar 7foo' | |
Finds: '7' | |
s = 'bar 7bar ' | |
Finds: '7' | |
s = 'bar 720' | |
s = '207' | |
s = '207foo' | |
s = '207bar ' | |
s = '20720' | |
i = 8 | |
s = '8' | |
Matches: '8' | |
Finds: '8' | |
s = '8foo' | |
Finds: '8' | |
s = '8bar ' | |
Finds: '8' | |
s = '820' | |
s = 'foo8' | |
Finds: '8' | |
s = 'foo8foo' | |
Finds: '8' | |
s = 'foo8bar ' | |
Finds: '8' | |
s = 'foo820' | |
s = 'bar 8' | |
Finds: '8' | |
s = 'bar 8foo' | |
Finds: '8' | |
s = 'bar 8bar ' | |
Finds: '8' | |
s = 'bar 820' | |
s = '208' | |
s = '208foo' | |
s = '208bar ' | |
s = '20820' | |
i = 9 | |
s = '9' | |
Matches: '9' | |
Finds: '9' | |
s = '9foo' | |
Finds: '9' | |
s = '9bar ' | |
Finds: '9' | |
s = '920' | |
s = 'foo9' | |
Finds: '9' | |
s = 'foo9foo' | |
Finds: '9' | |
s = 'foo9bar ' | |
Finds: '9' | |
s = 'foo920' | |
s = 'bar 9' | |
Finds: '9' | |
s = 'bar 9foo' | |
Finds: '9' | |
s = 'bar 9bar ' | |
Finds: '9' | |
s = 'bar 920' | |
s = '209' | |
s = '209foo' | |
s = '209bar ' | |
s = '20920' | |
i = 10 | |
s = '10' | |
Matches: '10' | |
Finds: '10' | |
s = '10foo' | |
Finds: '10' | |
s = '10bar ' | |
Finds: '10' | |
s = '1020' | |
s = 'foo10' | |
Finds: '10' | |
s = 'foo10foo' | |
Finds: '10' | |
s = 'foo10bar ' | |
Finds: '10' | |
s = 'foo1020' | |
s = 'bar 10' | |
Finds: '10' | |
s = 'bar 10foo' | |
Finds: '10' | |
s = 'bar 10bar ' | |
Finds: '10' | |
s = 'bar 1020' | |
s = '2010' | |
s = '2010foo' | |
s = '2010bar ' | |
s = '201020' | |
i = 11 | |
s = '11' | |
Matches: '11' | |
Finds: '11' | |
s = '11foo' | |
Finds: '11' | |
s = '11bar ' | |
Finds: '11' | |
s = '1120' | |
s = 'foo11' | |
Finds: '11' | |
s = 'foo11foo' | |
Finds: '11' | |
s = 'foo11bar ' | |
Finds: '11' | |
s = 'foo1120' | |
s = 'bar 11' | |
Finds: '11' | |
s = 'bar 11foo' | |
Finds: '11' | |
s = 'bar 11bar ' | |
Finds: '11' | |
s = 'bar 1120' | |
s = '2011' | |
s = '2011foo' | |
s = '2011bar ' | |
s = '201120' | |
i = 12 | |
s = '12' | |
Matches: '12' | |
Finds: '12' | |
s = '12foo' | |
Finds: '12' | |
s = '12bar ' | |
Finds: '12' | |
s = '1220' | |
s = 'foo12' | |
Finds: '12' | |
s = 'foo12foo' | |
Finds: '12' | |
s = 'foo12bar ' | |
Finds: '12' | |
s = 'foo1220' | |
s = 'bar 12' | |
Finds: '12' | |
s = 'bar 12foo' | |
Finds: '12' | |
s = 'bar 12bar ' | |
Finds: '12' | |
s = 'bar 1220' | |
s = '2012' | |
s = '2012foo' | |
s = '2012bar ' | |
s = '201220' | |
i = 13 | |
s = '13' | |
Matches: '13' | |
Finds: '13' | |
s = '13foo' | |
Finds: '13' | |
s = '13bar ' | |
Finds: '13' | |
s = '1320' | |
s = 'foo13' | |
Finds: '13' | |
s = 'foo13foo' | |
Finds: '13' | |
s = 'foo13bar ' | |
Finds: '13' | |
s = 'foo1320' | |
s = 'bar 13' | |
Finds: '13' | |
s = 'bar 13foo' | |
Finds: '13' | |
s = 'bar 13bar ' | |
Finds: '13' | |
s = 'bar 1320' | |
s = '2013' | |
s = '2013foo' | |
s = '2013bar ' | |
s = '201320' | |
i = 14 | |
s = '14' | |
Matches: '14' | |
Finds: '14' | |
s = '14foo' | |
Finds: '14' | |
s = '14bar ' | |
Finds: '14' | |
s = '1420' | |
s = 'foo14' | |
Finds: '14' | |
s = 'foo14foo' | |
Finds: '14' | |
s = 'foo14bar ' | |
Finds: '14' | |
s = 'foo1420' | |
s = 'bar 14' | |
Finds: '14' | |
s = 'bar 14foo' | |
Finds: '14' | |
s = 'bar 14bar ' | |
Finds: '14' | |
s = 'bar 1420' | |
s = '2014' | |
s = '2014foo' | |
s = '2014bar ' | |
s = '201420' | |
i = 15 | |
s = '15' | |
Matches: '15' | |
Finds: '15' | |
s = '15foo' | |
Finds: '15' | |
s = '15bar ' | |
Finds: '15' | |
s = '1520' | |
s = 'foo15' | |
Finds: '15' | |
s = 'foo15foo' | |
Finds: '15' | |
s = 'foo15bar ' | |
Finds: '15' | |
s = 'foo1520' | |
s = 'bar 15' | |
Finds: '15' | |
s = 'bar 15foo' | |
Finds: '15' | |
s = 'bar 15bar ' | |
Finds: '15' | |
s = 'bar 1520' | |
s = '2015' | |
s = '2015foo' | |
s = '2015bar ' | |
s = '201520' | |
i = 16 | |
s = '16' | |
Matches: '16' | |
Finds: '16' | |
s = '16foo' | |
Finds: '16' | |
s = '16bar ' | |
Finds: '16' | |
s = '1620' | |
s = 'foo16' | |
Finds: '16' | |
s = 'foo16foo' | |
Finds: '16' | |
s = 'foo16bar ' | |
Finds: '16' | |
s = 'foo1620' | |
s = 'bar 16' | |
Finds: '16' | |
s = 'bar 16foo' | |
Finds: '16' | |
s = 'bar 16bar ' | |
Finds: '16' | |
s = 'bar 1620' | |
s = '2016' | |
s = '2016foo' | |
s = '2016bar ' | |
s = '201620' | |
i = 17 | |
s = '17' | |
Matches: '17' | |
Finds: '17' | |
s = '17foo' | |
Finds: '17' | |
s = '17bar ' | |
Finds: '17' | |
s = '1720' | |
s = 'foo17' | |
Finds: '17' | |
s = 'foo17foo' | |
Finds: '17' | |
s = 'foo17bar ' | |
Finds: '17' | |
s = 'foo1720' | |
s = 'bar 17' | |
Finds: '17' | |
s = 'bar 17foo' | |
Finds: '17' | |
s = 'bar 17bar ' | |
Finds: '17' | |
s = 'bar 1720' | |
s = '2017' | |
s = '2017foo' | |
s = '2017bar ' | |
s = '201720' | |
i = 18 | |
s = '18' | |
Matches: '18' | |
Finds: '18' | |
s = '18foo' | |
Finds: '18' | |
s = '18bar ' | |
Finds: '18' | |
s = '1820' | |
s = 'foo18' | |
Finds: '18' | |
s = 'foo18foo' | |
Finds: '18' | |
s = 'foo18bar ' | |
Finds: '18' | |
s = 'foo1820' | |
s = 'bar 18' | |
Finds: '18' | |
s = 'bar 18foo' | |
Finds: '18' | |
s = 'bar 18bar ' | |
Finds: '18' | |
s = 'bar 1820' | |
s = '2018' | |
s = '2018foo' | |
s = '2018bar ' | |
s = '201820' | |
i = 19 | |
s = '19' | |
Matches: '19' | |
Finds: '19' | |
s = '19foo' | |
Finds: '19' | |
s = '19bar ' | |
Finds: '19' | |
s = '1920' | |
s = 'foo19' | |
Finds: '19' | |
s = 'foo19foo' | |
Finds: '19' | |
s = 'foo19bar ' | |
Finds: '19' | |
s = 'foo1920' | |
s = 'bar 19' | |
Finds: '19' | |
s = 'bar 19foo' | |
Finds: '19' | |
s = 'bar 19bar ' | |
Finds: '19' | |
s = 'bar 1920' | |
s = '2019' | |
s = '2019foo' | |
s = '2019bar ' | |
s = '201920' | |
i = 20 | |
s = '20' | |
Matches: '20' | |
Finds: '20' | |
s = '20foo' | |
Finds: '20' | |
s = '20bar ' | |
Finds: '20' | |
s = '2020' | |
s = 'foo20' | |
Finds: '20' | |
s = 'foo20foo' | |
Finds: '20' | |
s = 'foo20bar ' | |
Finds: '20' | |
s = 'foo2020' | |
s = 'bar 20' | |
Finds: '20' | |
s = 'bar 20foo' | |
Finds: '20' | |
s = 'bar 20bar ' | |
Finds: '20' | |
s = 'bar 2020' | |
s = '2020' | |
s = '2020foo' | |
s = '2020bar ' | |
s = '202020' | |
i = 21 | |
s = '21' | |
s = '21foo' | |
s = '21bar ' | |
s = '2120' | |
s = 'foo21' | |
s = 'foo21foo' | |
s = 'foo21bar ' | |
s = 'foo2120' | |
s = 'bar 21' | |
s = 'bar 21foo' | |
s = 'bar 21bar ' | |
s = 'bar 2120' | |
s = '2021' | |
s = '2021foo' | |
s = '2021bar ' | |
s = '202120' | |
i = 22 | |
s = '22' | |
s = '22foo' | |
s = '22bar ' | |
s = '2220' | |
s = 'foo22' | |
s = 'foo22foo' | |
s = 'foo22bar ' | |
s = 'foo2220' | |
s = 'bar 22' | |
s = 'bar 22foo' | |
s = 'bar 22bar ' | |
s = 'bar 2220' | |
s = '2022' | |
s = '2022foo' | |
s = '2022bar ' | |
s = '202220' | |
i = 23 | |
s = '23' | |
s = '23foo' | |
s = '23bar ' | |
s = '2320' | |
s = 'foo23' | |
s = 'foo23foo' | |
s = 'foo23bar ' | |
s = 'foo2320' | |
s = 'bar 23' | |
s = 'bar 23foo' | |
s = 'bar 23bar ' | |
s = 'bar 2320' | |
s = '2023' | |
s = '2023foo' | |
s = '2023bar ' | |
s = '202320' | |
i = 24 | |
s = '24' | |
s = '24foo' | |
s = '24bar ' | |
s = '2420' | |
s = 'foo24' | |
s = 'foo24foo' | |
s = 'foo24bar ' | |
s = 'foo2420' | |
s = 'bar 24' | |
s = 'bar 24foo' | |
s = 'bar 24bar ' | |
s = 'bar 2420' | |
s = '2024' | |
s = '2024foo' | |
s = '2024bar ' | |
s = '202420' | |
i = 25 | |
s = '25' | |
s = '25foo' | |
s = '25bar ' | |
s = '2520' | |
s = 'foo25' | |
s = 'foo25foo' | |
s = 'foo25bar ' | |
s = 'foo2520' | |
s = 'bar 25' | |
s = 'bar 25foo' | |
s = 'bar 25bar ' | |
s = 'bar 2520' | |
s = '2025' | |
s = '2025foo' | |
s = '2025bar ' | |
s = '202520' | |
i = 26 | |
s = '26' | |
s = '26foo' | |
s = '26bar ' | |
s = '2620' | |
s = 'foo26' | |
s = 'foo26foo' | |
s = 'foo26bar ' | |
s = 'foo2620' | |
s = 'bar 26' | |
s = 'bar 26foo' | |
s = 'bar 26bar ' | |
s = 'bar 2620' | |
s = '2026' | |
s = '2026foo' | |
s = '2026bar ' | |
s = '202620' | |
i = 27 | |
s = '27' | |
s = '27foo' | |
s = '27bar ' | |
s = '2720' | |
s = 'foo27' | |
s = 'foo27foo' | |
s = 'foo27bar ' | |
s = 'foo2720' | |
s = 'bar 27' | |
s = 'bar 27foo' | |
s = 'bar 27bar ' | |
s = 'bar 2720' | |
s = '2027' | |
s = '2027foo' | |
s = '2027bar ' | |
s = '202720' | |
i = 28 | |
s = '28' | |
s = '28foo' | |
s = '28bar ' | |
s = '2820' | |
s = 'foo28' | |
s = 'foo28foo' | |
s = 'foo28bar ' | |
s = 'foo2820' | |
s = 'bar 28' | |
s = 'bar 28foo' | |
s = 'bar 28bar ' | |
s = 'bar 2820' | |
s = '2028' | |
s = '2028foo' | |
s = '2028bar ' | |
s = '202820' | |
i = 29 | |
s = '29' | |
s = '29foo' | |
s = '29bar ' | |
s = '2920' | |
s = 'foo29' | |
s = 'foo29foo' | |
s = 'foo29bar ' | |
s = 'foo2920' | |
s = 'bar 29' | |
s = 'bar 29foo' | |
s = 'bar 29bar ' | |
s = 'bar 2920' | |
s = '2029' | |
s = '2029foo' | |
s = '2029bar ' | |
s = '202920' | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package regexp; | |
import java.util.regex.Matcher; | |
import java.util.regex.Pattern; | |
public class RoedyNumberMatch { | |
private static final String[] P_FIXES = { "", "foo", "bar ", "20" }; | |
private static final Pattern PAT = Pattern | |
.compile("(?<!\\d)(?:20|1\\d|[1-9])(?!\\d)"); | |
public static void main(String[] args) { | |
final Matcher m = PAT.matcher(""); | |
for (int i = 0; i < 30; ++i) { | |
System.out.println("i = " + i); | |
for (final String pre : P_FIXES) { | |
for (final String post : P_FIXES) { | |
final String s = pre + i + post; | |
System.out.println("s = '" + s + "'"); | |
if (m.reset(s).matches()) { | |
System.out.println("Matches: '" + m.group() + "'"); | |
} | |
if (m.reset(s).find()) { | |
System.out.println("Finds: '" + m.group() + "'"); | |
} | |
} | |
} | |
System.out.println(); | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment