Skip to content

Instantly share code, notes, and snippets.

@0OZ
Last active June 20, 2024 13:51
Show Gist options
  • Save 0OZ/447ecddcbbe8e9bef546701822fb8cde to your computer and use it in GitHub Desktop.
Save 0OZ/447ecddcbbe8e9bef546701822fb8cde to your computer and use it in GitHub Desktop.
Regex for German street names

Regular Expressions

((Ober|Unter den|An |Im |Platz |Berg |Am |Alt\-).+|(?:([A-Z][a-zäüö-]+){1,2})).([Cc]haussee|[Aa]llee|[sS]tr(\.|(a(ss|ß)e))|[Rr]ing|berg|gasse|grund|hörn| Nord|graben|[mM]arkt|[Uu]fer|[Ss]tieg|[Ll]inden|[Dd]amm|[pP]latz|brücke|Steinbüchel|Burg|stiege|[Ww]eg|rain|park|[Ww]eide|[Hh][oö]f|pfad|garten|bogen|passage).+?(\d{1,4})([a-zäöüß]+)?(\-?\d{1,4}[a-zäöüß]?)?

Note: the first letter must be capitalized and there must be a house number

//city with zip code

(?<![\.\d])(\d{4,5})\b\W+?(\p{L}+?)\b

feel free to improve the Regex

Display the source blob
Display the rendered blob
Raw
<svg xmlns="http://www.w3.org/2000/svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" version="1.1" width="1512.96875" height="1451.109375">
<defs>
<style type="text/css">svg {
background-color:white; }
.root text,
.root tspan {
font: 12px Arial; }
.root path {
fill-opacity: 0;
stroke-width: 2px;
stroke: #000; }
.root circle {
fill: #6b6659;
stroke-width: 2px;
stroke: #000; }
.anchor text, .any-character text {
fill: #fff; }
.anchor rect, .any-character rect {
fill: #6b6659; }
.escape text, .charset-escape text, .literal text {
fill: #000; }
.escape rect, .charset-escape rect {
fill: #bada55; }
.literal rect {
fill: #dae9e5; }
.charset .charset-box {
fill: #cbcbba; }
.subexp .subexp-label tspan,
.charset .charset-label tspan,
.match-fragment .repeat-label tspan {
font-size: 10px; }
.repeat-label {
cursor: help; }
.subexp .subexp-label tspan,
.charset .charset-label tspan {
dominant-baseline: text-after-edge; }
.subexp .subexp-box {
stroke: #908c83;
stroke-dasharray: 6,2;
stroke-width: 2px;
fill-opacity: 0; }
.quote {
fill: #908c83; }
</style>
</defs>
<metadata>
<rdf:rdf>
<cc:license rdf:about="http://creativecommons.org/licenses/by/3.0/">
<cc:permits rdf:resource="http://creativecommons.org/ns#Reproduction"></cc:permits>
<cc:permits rdf:resource="http://creativecommons.org/ns#Distribution"></cc:permits>
<cc:requires rdf:resource="http://creativecommons.org/ns#Notice"></cc:requires>
<cc:requires rdf:resource="http://creativecommons.org/ns#Attribution"></cc:requires>
<cc:permits rdf:resource="http://creativecommons.org/ns#DerivativeWorks"></cc:permits>
</cc:license>
</rdf:rdf>
</metadata>
<desc>Created with Snap</desc><g class="root" transform="matrix(1,0,0,1,15,9.8906)"><g class="regexp match" transform="matrix(1,0,0,1,10,0)"><path d="M298.5780944824219,721.1640997955321H318.5781M401.4531,721.1641H421.4531M782.124975,721.1640875H812.125M895,721.1641H935M967.015625,721.1641000000001H1047.8125M1120.4844055175781,721.1641H1210.4844"></path><g class="match-fragment subexp" transform="matrix(1,0,0,1,0,470.4453)"><rect rx="3" ry="3" class="subexp-box" transform="matrix(1,0,0,1,0,11.1094)" width="308.5780944824219" height="479"></rect><text x="0" y="0" class="subexp-label" transform="matrix(1,0,0,1,0,11.1094)"><tspan>group #1</tspan></text><g class="regexp" transform="matrix(1,0,0,1,10,21.1094)"><path d="M10,130.1094q0,-10 10,-10M278.5780944824219,130.1094q0,-10 -10,-10M10,331.1094q0,10 10,10M278.5780944824219,331.1094q0,10 -10,10M0,229.60939979553223q10,0 10,-10V130.1094M288.5780944824219,229.60939979553223q-10,0 -10,-10V130.1094M0,229.60939979553223q10,0 10,10V331.1094M288.5780944824219,229.60939979553223q-10,0 -10,10V331.1094"></path><g transform="matrix(1,0,0,1,20,0)" class="regexp-matches"><path d="M0,120.1094h10M233.5781,120.1094H248.57809448242188M0,341.1094h30.289M198.28900551757812,341.1094H248.57809448242188"></path><g class="match" transform="matrix(1,0,0,1,0,0)"><path d="M120.703125,120.1094H150.7031"></path><g class="match-fragment subexp" transform="matrix(1,0,0,1,0,0)"><rect rx="3" ry="3" class="subexp-box" transform="matrix(1,0,0,1,0,11.1094)" width="130.703125" height="218"></rect><text x="0" y="0" class="subexp-label" transform="matrix(1,0,0,1,0,11.1094)"><tspan>group #2</tspan></text><g class="regexp" transform="matrix(1,0,0,1,10,21.1094)"><path d="M10,22q0,-10 10,-10M100.703125,22q0,-10 -10,-10M10,51q0,-10 10,-10M100.703125,51q0,-10 -10,-10M10,80q0,-10 10,-10M100.703125,80q0,-10 -10,-10M0,99c10,0 10,0 20,0M110.703125,99c-10,0 -10,0 -20,0M10,118q0,10 10,10M100.703125,118q0,10 -10,10M10,147q0,10 10,10M100.703125,147q0,10 -10,10M10,176q0,10 10,10M100.703125,176q0,10 -10,10M0,99q10,0 10,-10V22M110.703125,99q-10,0 -10,-10V22M0,99q10,0 10,10V176M110.703125,99q-10,0 -10,10V176"></path><g transform="matrix(1,0,0,1,20,0)" class="regexp-matches"><path d="M0,12h13.0156M57.687475,12H70.703125M0,41h0M70.703125,41H70.703125M0,70h18.0234M52.679649999999995,70H70.703125M0,99h11.3438M59.359425,99H70.703125M0,128h12.0078M58.6953,128H70.703125M0,157h15.6875M55.015625,157H70.703125M0,186h17.3516M53.351600000000005,186H70.703125"></path><g class="match match-fragment literal" transform="matrix(1,0,0,1,13.0156,0)"><g class="label"><rect width="44.671875" height="24" rx="3" ry="3"></rect><text x="0" y="0" transform="matrix(1,0,0,1,5,17)"><tspan class="quote">“</tspan><tspan>Ober</tspan><tspan class="quote">”</tspan></text></g></g><g class="match match-fragment literal" transform="matrix(1,0,0,1,0,29)"><g class="label"><rect width="70.703125" height="24" rx="3" ry="3"></rect><text x="0" y="0" transform="matrix(1,0,0,1,5,17)"><tspan class="quote">“</tspan><tspan>Unter den</tspan><tspan class="quote">”</tspan></text></g></g><g class="match match-fragment literal" transform="matrix(1,0,0,1,18.0234,58)"><g class="label"><rect width="34.65625" height="24" rx="3" ry="3"></rect><text x="0" y="0" transform="matrix(1,0,0,1,5,17)"><tspan class="quote">“</tspan><tspan>Im </tspan><tspan class="quote">”</tspan></text></g></g><g class="match match-fragment literal" transform="matrix(1,0,0,1,11.3438,87)"><g class="label"><rect width="48.015625" height="24" rx="3" ry="3"></rect><text x="0" y="0" transform="matrix(1,0,0,1,5,17)"><tspan class="quote">“</tspan><tspan>Platz </tspan><tspan class="quote">”</tspan></text></g></g><g class="match match-fragment literal" transform="matrix(1,0,0,1,12.0078,116)"><g class="label"><rect width="46.6875" height="24" rx="3" ry="3"></rect><text x="0" y="0" transform="matrix(1,0,0,1,5,17)"><tspan class="quote">“</tspan><tspan>Berg </tspan><tspan class="quote">”</tspan></text></g></g><g class="match match-fragment literal" transform="matrix(1,0,0,1,15.6875,145)"><g class="label"><rect width="39.328125" height="24" rx="3" ry="3"></rect><text x="0" y="0" transform="matrix(1,0,0,1,5,17)"><tspan class="quote">“</tspan><tspan>Am </tspan><tspan class="quote">”</tspan></text></g></g><g class="match match-fragment literal" transform="matrix(1,0,0,1,17.3516,174)"><g class="label"><rect width="36" height="24" rx="3" ry="3"></rect><text x="0" y="0" transform="matrix(1,0,0,1,5,17)"><tspan class="quote">“</tspan><tspan>Alt-</tspan><tspan class="quote">”</tspan></text></g></g></g></g></g><g class="match-fragment" transform="matrix(1,0,0,1,140.7031,108.1094)"><path d="M10,12q-10,0 -10,10v2q0,10 10,10h82.875q10,0 10,-10v-2q0,-10 -10,-10M102.875,27l5,-5m-5,5l-5,-5"></path><g class="any-character" transform="matrix(1,0,0,1,10,0)"><g class="label"><rect width="82.875" height="24"></rect><text x="0" y="0" transform="matrix(1,0,0,1,5,17)"><tspan>any character</tspan></text></g></g></g></g><g class="match match-fragment subexp regexp" transform="matrix(1,0,0,1,10.289,234)"><path d="M10,107.1094q-10,0 -10,10v84.99999979553223q0,10 10,10h203q10,0 10,-10v-84.99999979553223q0,-10 -10,-10M223,122.1094l5,-5m-5,5l-5,-5"></path><g class="subexp" transform="matrix(1,0,0,1,10,0)"><rect rx="3" ry="3" class="subexp-box" transform="matrix(1,0,0,1,0,11.1094)" width="203" height="191"></rect><text x="0" y="0" class="subexp-label" transform="matrix(1,0,0,1,0,11.1094)"><tspan>group #3</tspan></text><g class="regexp match" transform="matrix(1,0,0,1,10,21.1094)"><path d="M75.328125,86H95.3281"></path><g class="match-fragment charset" transform="matrix(1,0,0,1,0,58)"><rect rx="3" ry="3" class="charset-box" transform="matrix(1,0,0,1,0,11)" width="75.328125" height="34"></rect><text x="0" y="0" class="charset-label" transform="matrix(1,0,0,1,0,11)"><tspan>One of:</tspan></text><g transform="matrix(1,0,0,1,5,16)"><g class="charset-range" transform="matrix(1,0,0,1,0,0)"><text x="0" y="0" transform="matrix(1,0,0,1,31,16)">-</text><g class="literal" transform="matrix(1,0,0,1,0,0)"><g class="label"><rect width="26" height="24" rx="3" ry="3"></rect><text x="0" y="0" transform="matrix(1,0,0,1,5,17)"><tspan class="quote">“</tspan><tspan>A</tspan><tspan class="quote">”</tspan></text></g></g><g class="literal" transform="matrix(1,0,0,1,40,0)"><g class="label"><rect width="25.328125" height="24" rx="3" ry="3"></rect><text x="0" y="0" transform="matrix(1,0,0,1,5,17)"><tspan class="quote">“</tspan><tspan>Z</tspan><tspan class="quote">”</tspan></text></g></g></g></g></g><g class="match-fragment" transform="matrix(1,0,0,1,85.3281,0)"><path d="M10,86q-10,0 -10,10v65q0,10 10,10h72.67190551757812q10,0 10,-10v-65q0,-10 -10,-10M92.67190551757812,101l5,-5m-5,5l-5,-5"></path><g class="charset" transform="matrix(1,0,0,1,10,0)"><rect rx="3" ry="3" class="charset-box" transform="matrix(1,0,0,1,0,11)" width="72.67190170288086" height="150"></rect><text x="0" y="0" class="charset-label" transform="matrix(1,0,0,1,0,11)"><tspan>One of:</tspan></text><g transform="matrix(1,0,0,1,5,16)"><g class="charset-range" transform="matrix(1,0,0,1,0,0)"><text x="0" y="0" transform="matrix(1,0,0,1,29.6719,16)">-</text><g class="literal" transform="matrix(1,0,0,1,0,0)"><g class="label"><rect width="24.671875" height="24" rx="3" ry="3"></rect><text x="0" y="0" transform="matrix(1,0,0,1,5,17)"><tspan class="quote">“</tspan><tspan>a</tspan><tspan class="quote">”</tspan></text></g></g><g class="literal" transform="matrix(1,0,0,1,38.6719,0)"><g class="label"><rect width="24" height="24" rx="3" ry="3"></rect><text x="0" y="0" transform="matrix(1,0,0,1,5,17)"><tspan class="quote">“</tspan><tspan>z</tspan><tspan class="quote">”</tspan></text></g></g></g><g class="literal" transform="matrix(1,0,0,1,19,29)"><g class="label"><rect width="24.671875" height="24" rx="3" ry="3"></rect><text x="0" y="0" transform="matrix(1,0,0,1,5,17)"><tspan class="quote">“</tspan><tspan>ä</tspan><tspan class="quote">”</tspan></text></g></g><g class="literal" transform="matrix(1,0,0,1,19,58)"><g class="label"><rect width="24.671875" height="24" rx="3" ry="3"></rect><text x="0" y="0" transform="matrix(1,0,0,1,5,17)"><tspan class="quote">“</tspan><tspan>ü</tspan><tspan class="quote">”</tspan></text></g></g><g class="literal" transform="matrix(1,0,0,1,19,87)"><g class="label"><rect width="24.671875" height="24" rx="3" ry="3"></rect><text x="0" y="0" transform="matrix(1,0,0,1,5,17)"><tspan class="quote">“</tspan><tspan>ö</tspan><tspan class="quote">”</tspan></text></g></g><g class="literal" transform="matrix(1,0,0,1,20.336,116)"><g class="label"><rect width="22" height="24" rx="3" ry="3"></rect><text x="0" y="0" transform="matrix(1,0,0,1,5,17)"><tspan class="quote">“</tspan><tspan>-</tspan><tspan class="quote">”</tspan></text></g></g></g></g></g></g></g><text x="0" y="0" class="repeat-label" transform="matrix(1,0,0,1,170.7344,223.1094)"><tspan>at most once</tspan><title><text x="0" y="0">repeats at most 2 times in total</text></title></text></g></g></g></g><g class="match-fragment any-character" transform="matrix(1,0,0,1,318.5781,709.1641)"><g class="label"><rect width="82.875" height="24"></rect><text x="0" y="0" transform="matrix(1,0,0,1,5,17)"><tspan>any character</tspan></text></g></g><g class="match-fragment subexp" transform="matrix(1,0,0,1,411.4531,0)"><rect rx="3" ry="3" class="subexp-box" transform="matrix(1,0,0,1,0,11.1094)" width="380.671875" height="1420.109375"></rect><text x="0" y="0" class="subexp-label" transform="matrix(1,0,0,1,0,11.1094)"><tspan>group #4</tspan></text><g class="regexp" transform="matrix(1,0,0,1,10,21.1094)"><path d="M10,52.5q0,-10 10,-10M350.671875,52.5q0,-10 -10,-10M10,131.5q0,-10 10,-10M350.671875,131.5q0,-10 -10,-10M10,261.16409999999996q0,-10 10,-10M350.671875,261.16409999999996q0,-10 -10,-10M10,390.6094q0,-10 10,-10M350.671875,390.6094q0,-10 -10,-10M10,439.1094q0,-10 10,-10M350.671875,439.1094q0,-10 -10,-10M10,468.1094q0,-10 10,-10M350.671875,468.1094q0,-10 -10,-10M10,497.1094q0,-10 10,-10M350.671875,497.1094q0,-10 -10,-10M10,526.1094q0,-10 10,-10M350.671875,526.1094q0,-10 -10,-10M10,555.1094q0,-10 10,-10M350.671875,555.1094q0,-10 -10,-10M10,584.1094q0,-10 10,-10M350.671875,584.1094q0,-10 -10,-10M10,643.6094q0,-10 10,-10M350.671875,643.6094q0,-10 -10,-10M0,700.0546875c10,0 10,12.55471250000005 20,12.55471250000005M360.671875,700.0546875c-10,0 -10,12.55471250000005 -20,12.55471250000005M10,781.6094q0,10 10,10M350.671875,781.6094q0,10 -10,10M10,860.6094q0,10 10,10M350.671875,860.6094q0,10 -10,10M10,939.6094q0,10 10,10M350.671875,939.6094q0,10 -10,10M10,1018.6094q0,10 10,10M350.671875,1018.6094q0,10 -10,10M10,1067.1094q0,10 10,10M350.671875,1067.1094q0,10 -10,10M10,1096.1094q0,10 10,10M350.671875,1096.1094q0,10 -10,10M10,1125.1094q0,10 10,10M350.671875,1125.1094q0,10 -10,10M10,1154.1094q0,10 10,10M350.671875,1154.1094q0,10 -10,10M10,1213.6094q0,10 10,10M350.671875,1213.6094q0,10 -10,10M10,1262.1094q0,10 10,10M350.671875,1262.1094q0,10 -10,10M10,1291.1094q0,10 10,10M350.671875,1291.1094q0,10 -10,10M10,1320.1094q0,10 10,10M350.671875,1320.1094q0,10 -10,10M10,1349.1094q0,10 10,10M350.671875,1349.1094q0,10 -10,10M10,1378.1094q0,10 10,10M350.671875,1378.1094q0,10 -10,10M0,700.0546875q10,0 10,-10V52.5M360.671875,700.0546875q-10,0 -10,-10V52.5M0,700.0546875q10,0 10,10V1378.1094M360.671875,700.0546875q-10,0 -10,10V1378.1094"></path><g transform="matrix(1,0,0,1,20,0)" class="regexp-matches"><path d="M0,42.5h105.3125M215.3594,42.5H320.671875M0,121.5h119M201.671875,121.5H320.671875M0,251.1641h0M310.67188051757813,251.1641H320.671875M0,380.6094h119.9922M200.679725,380.6094H320.671875M0,429.1094h139.3281M181.343725,429.1094H320.671875M0,458.1094h135.3281M185.343725,458.1094H320.671875M0,487.1094h135.9922M184.6797,487.1094H320.671875M0,516.1094h139.3281M181.343725,516.1094H320.671875M0,545.1094h136.6641M184.00785,545.1094H320.671875M0,574.1094h132.6563M188.015675,574.1094H320.671875M0,633.6094h117.3359M203.33589999999998,633.6094H320.671875M0,712.6094h121M199.6719,712.6094H320.671875M0,791.6094h118.6641M202.00785000000002,791.6094H320.671875M0,870.6094h114.3203M206.351575,870.6094H320.671875M0,949.6094h114.664M206.00777499999998,949.6094H320.671875M0,1028.6094h119M201.671875,1028.6094H320.671875M0,1077.1094h133.3281M187.343725,1077.1094H320.671875M0,1106.1094h119.9766M200.69535000000002,1106.1094H320.671875M0,1135.1094h138.6641M182.00785,1135.1094H320.671875M0,1164.1094h135.3281M185.343725,1164.1094H320.671875M0,1223.6094h120M200.67185,1223.6094H320.671875M0,1272.1094h141.3281M179.343725,1272.1094H320.671875M0,1301.1094h139.6641M181.00785,1301.1094H320.671875M0,1330.1094h142.9922M177.6797,1330.1094H320.671875M0,1359.1094h139.6563M181.015675,1359.1094H320.671875M0,1388.1094h134.3203M186.35155,1388.1094H320.671875"></path><g class="match" transform="matrix(1,0,0,1,105.3125,0)"><path d="M36.671875,42.5H46.6719"></path><g class="match-fragment charset" transform="matrix(1,0,0,1,0,0)"><rect rx="3" ry="3" class="charset-box" transform="matrix(1,0,0,1,0,11)" width="36.671875" height="63"></rect><text x="0" y="0" class="charset-label" transform="matrix(1,0,0,1,0,11)"><tspan>One of:</tspan></text><g transform="matrix(1,0,0,1,5,16)"><g class="literal" transform="matrix(1,0,0,1,0,0)"><g class="label"><rect width="26.671875" height="24" rx="3" ry="3"></rect><text x="0" y="0" transform="matrix(1,0,0,1,5,17)"><tspan class="quote">“</tspan><tspan>C</tspan><tspan class="quote">”</tspan></text></g></g><g class="literal" transform="matrix(1,0,0,1,1.3359,29)"><g class="label"><rect width="24" height="24" rx="3" ry="3"></rect><text x="0" y="0" transform="matrix(1,0,0,1,5,17)"><tspan class="quote">“</tspan><tspan>c</tspan><tspan class="quote">”</tspan></text></g></g></g></g><g class="match-fragment literal" transform="matrix(1,0,0,1,46.6719,30.5)"><g class="label"><rect width="63.375" height="24" rx="3" ry="3"></rect><text x="0" y="0" transform="matrix(1,0,0,1,5,17)"><tspan class="quote">“</tspan><tspan>haussee</tspan><tspan class="quote">”</tspan></text></g></g></g><g class="match" transform="matrix(1,0,0,1,119,79)"><path d="M36,42.5H46"></path><g class="match-fragment charset" transform="matrix(1,0,0,1,0,0)"><rect rx="3" ry="3" class="charset-box" transform="matrix(1,0,0,1,0,11)" width="36" height="63"></rect><text x="0" y="0" class="charset-label" transform="matrix(1,0,0,1,0,11)"><tspan>One of:</tspan></text><g transform="matrix(1,0,0,1,5,16)"><g class="literal" transform="matrix(1,0,0,1,0,0)"><g class="label"><rect width="26" height="24" rx="3" ry="3"></rect><text x="0" y="0" transform="matrix(1,0,0,1,5,17)"><tspan class="quote">“</tspan><tspan>A</tspan><tspan class="quote">”</tspan></text></g></g><g class="literal" transform="matrix(1,0,0,1,0.6641,29)"><g class="label"><rect width="24.671875" height="24" rx="3" ry="3"></rect><text x="0" y="0" transform="matrix(1,0,0,1,5,17)"><tspan class="quote">“</tspan><tspan>a</tspan><tspan class="quote">”</tspan></text></g></g></g></g><g class="match-fragment literal" transform="matrix(1,0,0,1,46,30.5)"><g class="label"><rect width="36.671875" height="24" rx="3" ry="3"></rect><text x="0" y="0" transform="matrix(1,0,0,1,5,17)"><tspan class="quote">“</tspan><tspan>llee</tspan><tspan class="quote">”</tspan></text></g></g></g><g class="match" transform="matrix(1,0,0,1,0,158)"><path d="M36,93.16409999999999H46M71.328125,93.1641H91.3281"></path><g class="match-fragment charset" transform="matrix(1,0,0,1,0,50.6641)"><rect rx="3" ry="3" class="charset-box" transform="matrix(1,0,0,1,0,11)" width="36" height="63"></rect><text x="0" y="0" class="charset-label" transform="matrix(1,0,0,1,0,11)"><tspan>One of:</tspan></text><g transform="matrix(1,0,0,1,5,16)"><g class="literal" transform="matrix(1,0,0,1,1,0)"><g class="label"><rect width="24" height="24" rx="3" ry="3"></rect><text x="0" y="0" transform="matrix(1,0,0,1,5,17)"><tspan class="quote">“</tspan><tspan>s</tspan><tspan class="quote">”</tspan></text></g></g><g class="literal" transform="matrix(1,0,0,1,0,29)"><g class="label"><rect width="26" height="24" rx="3" ry="3"></rect><text x="0" y="0" transform="matrix(1,0,0,1,5,17)"><tspan class="quote">“</tspan><tspan>S</tspan><tspan class="quote">”</tspan></text></g></g></g></g><g class="match-fragment literal" transform="matrix(1,0,0,1,46,81.1641)"><g class="label"><rect width="25.328125" height="24" rx="3" ry="3"></rect><text x="0" y="0" transform="matrix(1,0,0,1,5,17)"><tspan class="quote">“</tspan><tspan>tr</tspan><tspan class="quote">”</tspan></text></g></g><g class="match-fragment subexp" transform="matrix(1,0,0,1,81.3281,0)"><rect rx="3" ry="3" class="subexp-box" transform="matrix(1,0,0,1,0,11.1094)" width="239.34378051757812" height="164.10940551757812"></rect><text x="0" y="0" class="subexp-label" transform="matrix(1,0,0,1,0,11.1094)"><tspan>group #5</tspan></text><g class="regexp" transform="matrix(1,0,0,1,10,21.1094)"><path d="M10,22q0,-10 10,-10M209.34378051757812,22q0,-10 -10,-10M10,87.7188q0,10 10,10M209.34378051757812,87.7188q0,10 -10,10M0,72.05470275878906q10,0 10,-10V22M219.34378051757812,72.05470275878906q-10,0 -10,-10V22M0,72.05470275878906q10,0 10,10V87.7188M219.34378051757812,72.05470275878906q-10,0 -10,10V87.7188"></path><g transform="matrix(1,0,0,1,20,0)" class="regexp-matches"><path d="M0,12h79.0078M100.335925,12H179.34378051757812M0,97.7188h10M169.343775,97.7188H179.34378051757812"></path><g class="match match-fragment literal" transform="matrix(1,0,0,1,79.0078,0)"><g class="label"><rect width="21.328125" height="24" rx="3" ry="3"></rect><text x="0" y="0" transform="matrix(1,0,0,1,5,17)"><tspan class="quote">“</tspan><tspan>.</tspan><tspan class="quote">”</tspan></text></g></g><g class="match match-fragment subexp" transform="matrix(1,0,0,1,0,29)"><rect rx="3" ry="3" class="subexp-box" transform="matrix(1,0,0,1,0,11.1094)" width="179.34378051757812" height="104"></rect><text x="0" y="0" class="subexp-label" transform="matrix(1,0,0,1,0,11.1094)"><tspan>group #6</tspan></text><g class="regexp match" transform="matrix(1,0,0,1,10,21.1094)"><path d="M24.671875,47.6094H44.6719M114.6719,47.609399999999994H134.6719"></path><g class="match-fragment literal" transform="matrix(1,0,0,1,0,35.6094)"><g class="label"><rect width="24.671875" height="24" rx="3" ry="3"></rect><text x="0" y="0" transform="matrix(1,0,0,1,5,17)"><tspan class="quote">“</tspan><tspan>a</tspan><tspan class="quote">”</tspan></text></g></g><g class="match-fragment subexp" transform="matrix(1,0,0,1,34.6719,0)"><rect rx="3" ry="3" class="subexp-box" transform="matrix(1,0,0,1,0,11.1094)" width="90" height="73"></rect><text x="0" y="0" class="subexp-label" transform="matrix(1,0,0,1,0,11.1094)"><tspan>group #7</tspan></text><g class="regexp" transform="matrix(1,0,0,1,10,21.1094)"><path d="M0,26.5c10,0 10,-14.5 20,-14.5M70,26.5c-10,0 -10,-14.5 -20,-14.5M0,26.5c10,0 10,14.5 20,14.5M70,26.5c-10,0 -10,14.5 -20,14.5"></path><g transform="matrix(1,0,0,1,20,0)" class="regexp-matches"><path d="M0,12h0M30,12H30M0,41h2.3359M27.664025,41H30"></path><g class="match match-fragment literal" transform="matrix(1,0,0,1,0,0)"><g class="label"><rect width="30" height="24" rx="3" ry="3"></rect><text x="0" y="0" transform="matrix(1,0,0,1,5,17)"><tspan class="quote">“</tspan><tspan>ss</tspan><tspan class="quote">”</tspan></text></g></g><g class="match match-fragment literal" transform="matrix(1,0,0,1,2.3359,29)"><g class="label"><rect width="25.328125" height="24" rx="3" ry="3"></rect><text x="0" y="0" transform="matrix(1,0,0,1,5,17)"><tspan class="quote">“</tspan><tspan>ß</tspan><tspan class="quote">”</tspan></text></g></g></g></g></g><g class="match-fragment literal" transform="matrix(1,0,0,1,134.6719,35.6094)"><g class="label"><rect width="24.671875" height="24" rx="3" ry="3"></rect><text x="0" y="0" transform="matrix(1,0,0,1,5,17)"><tspan class="quote">“</tspan><tspan>e</tspan><tspan class="quote">”</tspan></text></g></g></g></g></g></g></g></g><g class="match" transform="matrix(1,0,0,1,119.9922,338.1094)"><path d="M36.671875,42.5H46.6719"></path><g class="match-fragment charset" transform="matrix(1,0,0,1,0,0)"><rect rx="3" ry="3" class="charset-box" transform="matrix(1,0,0,1,0,11)" width="36.671875" height="63"></rect><text x="0" y="0" class="charset-label" transform="matrix(1,0,0,1,0,11)"><tspan>One of:</tspan></text><g transform="matrix(1,0,0,1,5,16)"><g class="literal" transform="matrix(1,0,0,1,0,0)"><g class="label"><rect width="26.671875" height="24" rx="3" ry="3"></rect><text x="0" y="0" transform="matrix(1,0,0,1,5,17)"><tspan class="quote">“</tspan><tspan>R</tspan><tspan class="quote">”</tspan></text></g></g><g class="literal" transform="matrix(1,0,0,1,2.3359,29)"><g class="label"><rect width="22" height="24" rx="3" ry="3"></rect><text x="0" y="0" transform="matrix(1,0,0,1,5,17)"><tspan class="quote">“</tspan><tspan>r</tspan><tspan class="quote">”</tspan></text></g></g></g></g><g class="match-fragment literal" transform="matrix(1,0,0,1,46.6719,30.5)"><g class="label"><rect width="34.015625" height="24" rx="3" ry="3"></rect><text x="0" y="0" transform="matrix(1,0,0,1,5,17)"><tspan class="quote">“</tspan><tspan>ing</tspan><tspan class="quote">”</tspan></text></g></g></g><g class="match match-fragment literal" transform="matrix(1,0,0,1,139.3281,417.1094)"><g class="label"><rect width="42.015625" height="24" rx="3" ry="3"></rect><text x="0" y="0" transform="matrix(1,0,0,1,5,17)"><tspan class="quote">“</tspan><tspan>berg</tspan><tspan class="quote">”</tspan></text></g></g><g class="match match-fragment literal" transform="matrix(1,0,0,1,135.3281,446.1094)"><g class="label"><rect width="50.015625" height="24" rx="3" ry="3"></rect><text x="0" y="0" transform="matrix(1,0,0,1,5,17)"><tspan class="quote">“</tspan><tspan>gasse</tspan><tspan class="quote">”</tspan></text></g></g><g class="match match-fragment literal" transform="matrix(1,0,0,1,135.9922,475.1094)"><g class="label"><rect width="48.6875" height="24" rx="3" ry="3"></rect><text x="0" y="0" transform="matrix(1,0,0,1,5,17)"><tspan class="quote">“</tspan><tspan>grund</tspan><tspan class="quote">”</tspan></text></g></g><g class="match match-fragment literal" transform="matrix(1,0,0,1,139.3281,504.1094)"><g class="label"><rect width="42.015625" height="24" rx="3" ry="3"></rect><text x="0" y="0" transform="matrix(1,0,0,1,5,17)"><tspan class="quote">“</tspan><tspan>hörn</tspan><tspan class="quote">”</tspan></text></g></g><g class="match match-fragment literal" transform="matrix(1,0,0,1,136.6641,533.1094)"><g class="label"><rect width="47.34375" height="24" rx="3" ry="3"></rect><text x="0" y="0" transform="matrix(1,0,0,1,5,17)"><tspan class="quote">“</tspan><tspan> Nord</tspan><tspan class="quote">”</tspan></text></g></g><g class="match match-fragment literal" transform="matrix(1,0,0,1,132.6563,562.1094)"><g class="label"><rect width="55.359375" height="24" rx="3" ry="3"></rect><text x="0" y="0" transform="matrix(1,0,0,1,5,17)"><tspan class="quote">“</tspan><tspan>graben</tspan><tspan class="quote">”</tspan></text></g></g><g class="match" transform="matrix(1,0,0,1,117.3359,591.1094)"><path d="M38,42.5H48"></path><g class="match-fragment charset" transform="matrix(1,0,0,1,0,0)"><rect rx="3" ry="3" class="charset-box" transform="matrix(1,0,0,1,0,11)" width="38" height="63"></rect><text x="0" y="0" class="charset-label" transform="matrix(1,0,0,1,0,11)"><tspan>One of:</tspan></text><g transform="matrix(1,0,0,1,5,16)"><g class="literal" transform="matrix(1,0,0,1,0,0)"><g class="label"><rect width="28" height="24" rx="3" ry="3"></rect><text x="0" y="0" transform="matrix(1,0,0,1,5,17)"><tspan class="quote">“</tspan><tspan>m</tspan><tspan class="quote">”</tspan></text></g></g><g class="literal" transform="matrix(1,0,0,1,0,29)"><g class="label"><rect width="28" height="24" rx="3" ry="3"></rect><text x="0" y="0" transform="matrix(1,0,0,1,5,17)"><tspan class="quote">“</tspan><tspan>M</tspan><tspan class="quote">”</tspan></text></g></g></g></g><g class="match-fragment literal" transform="matrix(1,0,0,1,48,30.5)"><g class="label"><rect width="38" height="24" rx="3" ry="3"></rect><text x="0" y="0" transform="matrix(1,0,0,1,5,17)"><tspan class="quote">“</tspan><tspan>arkt</tspan><tspan class="quote">”</tspan></text></g></g></g><g class="match" transform="matrix(1,0,0,1,121,670.1094)"><path d="M36.671875,42.5H46.6719"></path><g class="match-fragment charset" transform="matrix(1,0,0,1,0,0)"><rect rx="3" ry="3" class="charset-box" transform="matrix(1,0,0,1,0,11)" width="36.671875" height="63"></rect><text x="0" y="0" class="charset-label" transform="matrix(1,0,0,1,0,11)"><tspan>One of:</tspan></text><g transform="matrix(1,0,0,1,5,16)"><g class="literal" transform="matrix(1,0,0,1,0,0)"><g class="label"><rect width="26.671875" height="24" rx="3" ry="3"></rect><text x="0" y="0" transform="matrix(1,0,0,1,5,17)"><tspan class="quote">“</tspan><tspan>U</tspan><tspan class="quote">”</tspan></text></g></g><g class="literal" transform="matrix(1,0,0,1,1,29)"><g class="label"><rect width="24.671875" height="24" rx="3" ry="3"></rect><text x="0" y="0" transform="matrix(1,0,0,1,5,17)"><tspan class="quote">“</tspan><tspan>u</tspan><tspan class="quote">”</tspan></text></g></g></g></g><g class="match-fragment literal" transform="matrix(1,0,0,1,46.6719,30.5)"><g class="label"><rect width="32" height="24" rx="3" ry="3"></rect><text x="0" y="0" transform="matrix(1,0,0,1,5,17)"><tspan class="quote">“</tspan><tspan>fer</tspan><tspan class="quote">”</tspan></text></g></g></g><g class="match" transform="matrix(1,0,0,1,118.6641,749.1094)"><path d="M36,42.5H46"></path><g class="match-fragment charset" transform="matrix(1,0,0,1,0,0)"><rect rx="3" ry="3" class="charset-box" transform="matrix(1,0,0,1,0,11)" width="36" height="63"></rect><text x="0" y="0" class="charset-label" transform="matrix(1,0,0,1,0,11)"><tspan>One of:</tspan></text><g transform="matrix(1,0,0,1,5,16)"><g class="literal" transform="matrix(1,0,0,1,0,0)"><g class="label"><rect width="26" height="24" rx="3" ry="3"></rect><text x="0" y="0" transform="matrix(1,0,0,1,5,17)"><tspan class="quote">“</tspan><tspan>S</tspan><tspan class="quote">”</tspan></text></g></g><g class="literal" transform="matrix(1,0,0,1,1,29)"><g class="label"><rect width="24" height="24" rx="3" ry="3"></rect><text x="0" y="0" transform="matrix(1,0,0,1,5,17)"><tspan class="quote">“</tspan><tspan>s</tspan><tspan class="quote">”</tspan></text></g></g></g></g><g class="match-fragment literal" transform="matrix(1,0,0,1,46,30.5)"><g class="label"><rect width="37.34375" height="24" rx="3" ry="3"></rect><text x="0" y="0" transform="matrix(1,0,0,1,5,17)"><tspan class="quote">“</tspan><tspan>tieg</tspan><tspan class="quote">”</tspan></text></g></g></g><g class="match" transform="matrix(1,0,0,1,114.3203,828.1094)"><path d="M34.671875,42.5H44.6719"></path><g class="match-fragment charset" transform="matrix(1,0,0,1,0,0)"><rect rx="3" ry="3" class="charset-box" transform="matrix(1,0,0,1,0,11)" width="34.671875" height="63"></rect><text x="0" y="0" class="charset-label" transform="matrix(1,0,0,1,0,11)"><tspan>One of:</tspan></text><g transform="matrix(1,0,0,1,5,16)"><g class="literal" transform="matrix(1,0,0,1,0,0)"><g class="label"><rect width="24.671875" height="24" rx="3" ry="3"></rect><text x="0" y="0" transform="matrix(1,0,0,1,5,17)"><tspan class="quote">“</tspan><tspan>L</tspan><tspan class="quote">”</tspan></text></g></g><g class="literal" transform="matrix(1,0,0,1,2,29)"><g class="label"><rect width="20.671875" height="24" rx="3" ry="3"></rect><text x="0" y="0" transform="matrix(1,0,0,1,5,17)"><tspan class="quote">“</tspan><tspan>l</tspan><tspan class="quote">”</tspan></text></g></g></g></g><g class="match-fragment literal" transform="matrix(1,0,0,1,44.6719,30.5)"><g class="label"><rect width="47.359375" height="24" rx="3" ry="3"></rect><text x="0" y="0" transform="matrix(1,0,0,1,5,17)"><tspan class="quote">“</tspan><tspan>inden</tspan><tspan class="quote">”</tspan></text></g></g></g><g class="match" transform="matrix(1,0,0,1,114.664,907.1094)"><path d="M36.671875,42.5H46.6719"></path><g class="match-fragment charset" transform="matrix(1,0,0,1,0,0)"><rect rx="3" ry="3" class="charset-box" transform="matrix(1,0,0,1,0,11)" width="36.671875" height="63"></rect><text x="0" y="0" class="charset-label" transform="matrix(1,0,0,1,0,11)"><tspan>One of:</tspan></text><g transform="matrix(1,0,0,1,5,16)"><g class="literal" transform="matrix(1,0,0,1,0,0)"><g class="label"><rect width="26.671875" height="24" rx="3" ry="3"></rect><text x="0" y="0" transform="matrix(1,0,0,1,5,17)"><tspan class="quote">“</tspan><tspan>D</tspan><tspan class="quote">”</tspan></text></g></g><g class="literal" transform="matrix(1,0,0,1,1,29)"><g class="label"><rect width="24.671875" height="24" rx="3" ry="3"></rect><text x="0" y="0" transform="matrix(1,0,0,1,5,17)"><tspan class="quote">“</tspan><tspan>d</tspan><tspan class="quote">”</tspan></text></g></g></g></g><g class="match-fragment literal" transform="matrix(1,0,0,1,46.6719,30.5)"><g class="label"><rect width="44.671875" height="24" rx="3" ry="3"></rect><text x="0" y="0" transform="matrix(1,0,0,1,5,17)"><tspan class="quote">“</tspan><tspan>amm</tspan><tspan class="quote">”</tspan></text></g></g></g><g class="match" transform="matrix(1,0,0,1,119,986.1094)"><path d="M36,42.5H46"></path><g class="match-fragment charset" transform="matrix(1,0,0,1,0,0)"><rect rx="3" ry="3" class="charset-box" transform="matrix(1,0,0,1,0,11)" width="36" height="63"></rect><text x="0" y="0" class="charset-label" transform="matrix(1,0,0,1,0,11)"><tspan>One of:</tspan></text><g transform="matrix(1,0,0,1,5,16)"><g class="literal" transform="matrix(1,0,0,1,0.6641,0)"><g class="label"><rect width="24.671875" height="24" rx="3" ry="3"></rect><text x="0" y="0" transform="matrix(1,0,0,1,5,17)"><tspan class="quote">“</tspan><tspan>p</tspan><tspan class="quote">”</tspan></text></g></g><g class="literal" transform="matrix(1,0,0,1,0,29)"><g class="label"><rect width="26" height="24" rx="3" ry="3"></rect><text x="0" y="0" transform="matrix(1,0,0,1,5,17)"><tspan class="quote">“</tspan><tspan>P</tspan><tspan class="quote">”</tspan></text></g></g></g></g><g class="match-fragment literal" transform="matrix(1,0,0,1,46,30.5)"><g class="label"><rect width="36.671875" height="24" rx="3" ry="3"></rect><text x="0" y="0" transform="matrix(1,0,0,1,5,17)"><tspan class="quote">“</tspan><tspan>latz</tspan><tspan class="quote">”</tspan></text></g></g></g><g class="match match-fragment literal" transform="matrix(1,0,0,1,133.3281,1065.1094)"><g class="label"><rect width="54.015625" height="24" rx="3" ry="3"></rect><text x="0" y="0" transform="matrix(1,0,0,1,5,17)"><tspan class="quote">“</tspan><tspan>brücke</tspan><tspan class="quote">”</tspan></text></g></g><g class="match match-fragment literal" transform="matrix(1,0,0,1,119.9766,1094.1094)"><g class="label"><rect width="80.71875" height="24" rx="3" ry="3"></rect><text x="0" y="0" transform="matrix(1,0,0,1,5,17)"><tspan class="quote">“</tspan><tspan>Steinbüchel</tspan><tspan class="quote">”</tspan></text></g></g><g class="match match-fragment literal" transform="matrix(1,0,0,1,138.6641,1123.1094)"><g class="label"><rect width="43.34375" height="24" rx="3" ry="3"></rect><text x="0" y="0" transform="matrix(1,0,0,1,5,17)"><tspan class="quote">“</tspan><tspan>Burg</tspan><tspan class="quote">”</tspan></text></g></g><g class="match match-fragment literal" transform="matrix(1,0,0,1,135.3281,1152.1094)"><g class="label"><rect width="50.015625" height="24" rx="3" ry="3"></rect><text x="0" y="0" transform="matrix(1,0,0,1,5,17)"><tspan class="quote">“</tspan><tspan>stiege</tspan><tspan class="quote">”</tspan></text></g></g><g class="match" transform="matrix(1,0,0,1,120,1181.1094)"><path d="M39.328125,42.5H49.3281"></path><g class="match-fragment charset" transform="matrix(1,0,0,1,0,0)"><rect rx="3" ry="3" class="charset-box" transform="matrix(1,0,0,1,0,11)" width="39.328125" height="63"></rect><text x="0" y="0" class="charset-label" transform="matrix(1,0,0,1,0,11)"><tspan>One of:</tspan></text><g transform="matrix(1,0,0,1,5,16)"><g class="literal" transform="matrix(1,0,0,1,0,0)"><g class="label"><rect width="29.328125" height="24" rx="3" ry="3"></rect><text x="0" y="0" transform="matrix(1,0,0,1,5,17)"><tspan class="quote">“</tspan><tspan>W</tspan><tspan class="quote">”</tspan></text></g></g><g class="literal" transform="matrix(1,0,0,1,1.3281,29)"><g class="label"><rect width="26.671875" height="24" rx="3" ry="3"></rect><text x="0" y="0" transform="matrix(1,0,0,1,5,17)"><tspan class="quote">“</tspan><tspan>w</tspan><tspan class="quote">”</tspan></text></g></g></g></g><g class="match-fragment literal" transform="matrix(1,0,0,1,49.3281,30.5)"><g class="label"><rect width="31.34375" height="24" rx="3" ry="3"></rect><text x="0" y="0" transform="matrix(1,0,0,1,5,17)"><tspan class="quote">“</tspan><tspan>eg</tspan><tspan class="quote">”</tspan></text></g></g></g><g class="match match-fragment literal" transform="matrix(1,0,0,1,141.3281,1260.1094)"><g class="label"><rect width="38.015625" height="24" rx="3" ry="3"></rect><text x="0" y="0" transform="matrix(1,0,0,1,5,17)"><tspan class="quote">“</tspan><tspan>rain</tspan><tspan class="quote">”</tspan></text></g></g><g class="match match-fragment literal" transform="matrix(1,0,0,1,139.6641,1289.1094)"><g class="label"><rect width="41.34375" height="24" rx="3" ry="3"></rect><text x="0" y="0" transform="matrix(1,0,0,1,5,17)"><tspan class="quote">“</tspan><tspan>park</tspan><tspan class="quote">”</tspan></text></g></g><g class="match match-fragment literal" transform="matrix(1,0,0,1,142.9922,1318.1094)"><g class="label"><rect width="34.6875" height="24" rx="3" ry="3"></rect><text x="0" y="0" transform="matrix(1,0,0,1,5,17)"><tspan class="quote">“</tspan><tspan>hof</tspan><tspan class="quote">”</tspan></text></g></g><g class="match match-fragment literal" transform="matrix(1,0,0,1,139.6563,1347.1094)"><g class="label"><rect width="41.359375" height="24" rx="3" ry="3"></rect><text x="0" y="0" transform="matrix(1,0,0,1,5,17)"><tspan class="quote">“</tspan><tspan>pfad</tspan><tspan class="quote">”</tspan></text></g></g><g class="match match-fragment literal" transform="matrix(1,0,0,1,134.3203,1376.1094)"><g class="label"><rect width="52.03125" height="24" rx="3" ry="3"></rect><text x="0" y="0" transform="matrix(1,0,0,1,5,17)"><tspan class="quote">“</tspan><tspan>garten</tspan><tspan class="quote">”</tspan></text></g></g></g></g></g><g class="match-fragment" transform="matrix(1,0,0,1,802.125,709.1641)"><path d="M10,12q-10,0 -10,10v2q0,10 10,10h82.875q10,0 10,-10v-2q0,-10 -10,-10"></path><g class="any-character" transform="matrix(1,0,0,1,10,0)"><g class="label"><rect width="82.875" height="24"></rect><text x="0" y="0" transform="matrix(1,0,0,1,5,17)"><tspan>any character</tspan></text></g></g></g><g class="match-fragment subexp" transform="matrix(1,0,0,1,915,688.0547)"><rect rx="3" ry="3" class="subexp-box" transform="matrix(1,0,0,1,0,11.1094)" width="87.8125" height="67"></rect><text x="0" y="0" class="subexp-label" transform="matrix(1,0,0,1,0,11.1094)"><tspan>group #8</tspan></text><g class="regexp match match-fragment" transform="matrix(1,0,0,1,10,21.1094)"><path d="M10,12q-10,0 -10,10v2q0,10 10,10h32.015625q10,0 10,-10v-2q0,-10 -10,-10M52.015625,27l5,-5m-5,5l-5,-5"></path><g class="escape" transform="matrix(1,0,0,1,10,0)"><g class="label"><rect width="32.015625" height="24" rx="3" ry="3"></rect><text x="0" y="0" transform="matrix(1,0,0,1,5,17)"><tspan>digit</tspan></text></g></g><text x="0" y="0" class="repeat-label" transform="matrix(1,0,0,1,0,45)"><tspan>at most 3 times</tspan><title><text x="0" y="0">repeats at most 4 times in total</text></title></text></g></g><g class="match-fragment" transform="matrix(1,0,0,1,1012.8125,604.0547)"><path d="M0,117.1094q10,0 10,-10v-97.00000020446777q0,-10 10,-10h107.67190551757812q10,0 10,10v97.00000020446777q0,10 10,10"></path><g class="subexp" transform="matrix(1,0,0,1,15,10)"><rect rx="3" ry="3" class="subexp-box" transform="matrix(1,0,0,1,0,11.1094)" width="117.67190551757812" height="191"></rect><text x="0" y="0" class="subexp-label" transform="matrix(1,0,0,1,0,11.1094)"><tspan>group #9</tspan></text><g class="regexp match match-fragment" transform="matrix(1,0,0,1,10,21.1094)"><path d="M10,86q-10,0 -10,10v65q0,10 10,10h72.67190551757812q10,0 10,-10v-65q0,-10 -10,-10M92.67190551757812,101l5,-5m-5,5l-5,-5"></path><g class="charset" transform="matrix(1,0,0,1,10,0)"><rect rx="3" ry="3" class="charset-box" transform="matrix(1,0,0,1,0,11)" width="72.67190170288086" height="150"></rect><text x="0" y="0" class="charset-label" transform="matrix(1,0,0,1,0,11)"><tspan>One of:</tspan></text><g transform="matrix(1,0,0,1,5,16)"><g class="charset-range" transform="matrix(1,0,0,1,0,0)"><text x="0" y="0" transform="matrix(1,0,0,1,29.6719,16)">-</text><g class="literal" transform="matrix(1,0,0,1,0,0)"><g class="label"><rect width="24.671875" height="24" rx="3" ry="3"></rect><text x="0" y="0" transform="matrix(1,0,0,1,5,17)"><tspan class="quote">“</tspan><tspan>a</tspan><tspan class="quote">”</tspan></text></g></g><g class="literal" transform="matrix(1,0,0,1,38.6719,0)"><g class="label"><rect width="24" height="24" rx="3" ry="3"></rect><text x="0" y="0" transform="matrix(1,0,0,1,5,17)"><tspan class="quote">“</tspan><tspan>z</tspan><tspan class="quote">”</tspan></text></g></g></g><g class="literal" transform="matrix(1,0,0,1,19,29)"><g class="label"><rect width="24.671875" height="24" rx="3" ry="3"></rect><text x="0" y="0" transform="matrix(1,0,0,1,5,17)"><tspan class="quote">“</tspan><tspan>ä</tspan><tspan class="quote">”</tspan></text></g></g><g class="literal" transform="matrix(1,0,0,1,19,58)"><g class="label"><rect width="24.671875" height="24" rx="3" ry="3"></rect><text x="0" y="0" transform="matrix(1,0,0,1,5,17)"><tspan class="quote">“</tspan><tspan>ö</tspan><tspan class="quote">”</tspan></text></g></g><g class="literal" transform="matrix(1,0,0,1,19,87)"><g class="label"><rect width="24.671875" height="24" rx="3" ry="3"></rect><text x="0" y="0" transform="matrix(1,0,0,1,5,17)"><tspan class="quote">“</tspan><tspan>ü</tspan><tspan class="quote">”</tspan></text></g></g><g class="literal" transform="matrix(1,0,0,1,18.6719,116)"><g class="label"><rect width="25.328125" height="24" rx="3" ry="3"></rect><text x="0" y="0" transform="matrix(1,0,0,1,5,17)"><tspan class="quote">“</tspan><tspan>ß</tspan><tspan class="quote">”</tspan></text></g></g></g></g></g></g></g><g class="match-fragment" transform="matrix(1,0,0,1,1170.4844,594.0547)"><path d="M0,127.1094q10,0 10,-10v-107.00000020446777q0,-10 10,-10h252.48440551757812q10,0 10,10v107.00000020446777q0,10 10,10"></path><g class="subexp" transform="matrix(1,0,0,1,15,10)"><rect rx="3" ry="3" class="subexp-box" transform="matrix(1,0,0,1,0,11.1094)" width="262.4844055175781" height="191"></rect><text x="0" y="0" class="subexp-label" transform="matrix(1,0,0,1,0,11.1094)"><tspan>group #10</tspan></text><g class="regexp match" transform="matrix(1,0,0,1,10,21.1094)"><path d="M37,96H72M104.015625,96H154.8125"></path><g class="match-fragment" transform="matrix(1,0,0,1,0,74)"><path d="M0,22q10,0 10,-10v-2q0,-10 10,-10h12q10,0 10,10v2q0,10 10,10"></path><g class="literal" transform="matrix(1,0,0,1,15,10)"><g class="label"><rect width="22" height="24" rx="3" ry="3"></rect><text x="0" y="0" transform="matrix(1,0,0,1,5,17)"><tspan class="quote">“</tspan><tspan>-</tspan><tspan class="quote">”</tspan></text></g></g></g><g class="match-fragment" transform="matrix(1,0,0,1,62,84)"><path d="M10,12q-10,0 -10,10v2q0,10 10,10h32.015625q10,0 10,-10v-2q0,-10 -10,-10M52.015625,27l5,-5m-5,5l-5,-5"></path><g class="escape" transform="matrix(1,0,0,1,10,0)"><g class="label"><rect width="32.015625" height="24" rx="3" ry="3"></rect><text x="0" y="0" transform="matrix(1,0,0,1,5,17)"><tspan>digit</tspan></text></g></g><text x="0" y="0" class="repeat-label" transform="matrix(1,0,0,1,0,45)"><tspan>at most 3 times</tspan><title><text x="0" y="0">repeats at most 4 times in total</text></title></text></g><g class="match-fragment" transform="matrix(1,0,0,1,139.8125,0)"><path d="M0,96q10,0 10,-10v-76q0,-10 10,-10h62.671905517578125q10,0 10,10v76q0,10 10,10"></path><g class="charset" transform="matrix(1,0,0,1,15,10)"><rect rx="3" ry="3" class="charset-box" transform="matrix(1,0,0,1,0,11)" width="72.67190170288086" height="150"></rect><text x="0" y="0" class="charset-label" transform="matrix(1,0,0,1,0,11)"><tspan>One of:</tspan></text><g transform="matrix(1,0,0,1,5,16)"><g class="charset-range" transform="matrix(1,0,0,1,0,0)"><text x="0" y="0" transform="matrix(1,0,0,1,29.6719,16)">-</text><g class="literal" transform="matrix(1,0,0,1,0,0)"><g class="label"><rect width="24.671875" height="24" rx="3" ry="3"></rect><text x="0" y="0" transform="matrix(1,0,0,1,5,17)"><tspan class="quote">“</tspan><tspan>a</tspan><tspan class="quote">”</tspan></text></g></g><g class="literal" transform="matrix(1,0,0,1,38.6719,0)"><g class="label"><rect width="24" height="24" rx="3" ry="3"></rect><text x="0" y="0" transform="matrix(1,0,0,1,5,17)"><tspan class="quote">“</tspan><tspan>z</tspan><tspan class="quote">”</tspan></text></g></g></g><g class="literal" transform="matrix(1,0,0,1,19,29)"><g class="label"><rect width="24.671875" height="24" rx="3" ry="3"></rect><text x="0" y="0" transform="matrix(1,0,0,1,5,17)"><tspan class="quote">“</tspan><tspan>ä</tspan><tspan class="quote">”</tspan></text></g></g><g class="literal" transform="matrix(1,0,0,1,19,58)"><g class="label"><rect width="24.671875" height="24" rx="3" ry="3"></rect><text x="0" y="0" transform="matrix(1,0,0,1,5,17)"><tspan class="quote">“</tspan><tspan>ö</tspan><tspan class="quote">”</tspan></text></g></g><g class="literal" transform="matrix(1,0,0,1,19,87)"><g class="label"><rect width="24.671875" height="24" rx="3" ry="3"></rect><text x="0" y="0" transform="matrix(1,0,0,1,5,17)"><tspan class="quote">“</tspan><tspan>ü</tspan><tspan class="quote">”</tspan></text></g></g><g class="literal" transform="matrix(1,0,0,1,18.6719,116)"><g class="label"><rect width="25.328125" height="24" rx="3" ry="3"></rect><text x="0" y="0" transform="matrix(1,0,0,1,5,17)"><tspan class="quote">“</tspan><tspan>ß</tspan><tspan class="quote">”</tspan></text></g></g></g></g></g></g></g></g></g><path d="M20,721.1640997955321H0M1432.9688055175782,721.1640997955321H1482.96875"></path><circle cx="0" cy="721.1640997955321" r="5"></circle><circle cx="1482.96875" cy="721.1640997955321" r="5"></circle></g></svg>
@0OZ
Copy link
Author

0OZ commented Apr 8, 2021

Example:

Leibnizstr. 12

[
  [
    {
      "content": "Leibnizstr. 12",
      "isParticipating": true,
      "groupNum": 0,
      "groupName": null,
      "startPos": 0,
      "endPos": 14
    },
    {
      "content": "Leibni",
      "isParticipating": true,
      "groupNum": 1,
      "groupName": 1,
      "startPos": 0,
      "endPos": 6
    },
    {
      "content": "",
      "isParticipating": false,
      "groupNum": 2,
      "groupName": 2,
      "startPos": -1,
      "endPos": -1
    },
    {
      "content": "Leibni",
      "isParticipating": true,
      "groupNum": 3,
      "groupName": 3,
      "startPos": 0,
      "endPos": 6
    },
    {
      "content": "str.",
      "isParticipating": true,
      "groupNum": 4,
      "groupName": 4,
      "startPos": 7,
      "endPos": 11
    },
    {
      "content": ".",
      "isParticipating": true,
      "groupNum": 5,
      "groupName": 5,
      "startPos": 10,
      "endPos": 11
    },
    {
      "content": "",
      "isParticipating": false,
      "groupNum": 6,
      "groupName": 6,
      "startPos": -1,
      "endPos": -1
    },
    {
      "content": "",
      "isParticipating": false,
      "groupNum": 7,
      "groupName": 7,
      "startPos": -1,
      "endPos": -1
    },
    {
      "content": "12",
      "isParticipating": true,
      "groupNum": 8,
      "groupName": 8,
      "startPos": 12,
      "endPos": 14
    }
  ]
]

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment