Ik krijg volgende boodschap binnen:
nu zou ik graag dit via een regular expression wat opkuisen om een mooi resultaat te krijgen, helaas kom ik er niet... (let op er is GEEN afsluitende / in de laatste tag [])
onderstaand heb ik wat geprobeerd, maar mijn kennis (en amper gebruik ervan) van regex is heel beperkt
wat is mijn rederning ?
Eerst zoeken naar een [ met daarin alles wat een letter of een symbool is, totdat je een ] tegen komt. Deze neem je al groep in een backreference (nummer 1) en dan neem je alle tekst wat volgt todat je terug een [ tegenkomt. Nu vul ik de backreference in en neem tot het eind waar ik terug een ] tegenkom. Op basis hiervan wil ik gaan splitsen.
code:
1
2
3
4
| [technicalStatus]040[technicalStatus] [logicalStatus]020[logicalStatus] [pfysl8_naiy_err]NAS0199 E Geboortedatum 00.00.0000 is foutief.[pfysl8_naiy_err] [pfysl8_sexe_err]NAS0200 E Geslacht 0 foutief.[pfysl8_sexe_err] |
nu zou ik graag dit via een regular expression wat opkuisen om een mooi resultaat te krijgen, helaas kom ik er niet... (let op er is GEEN afsluitende / in de laatste tag [])
onderstaand heb ik wat geprobeerd, maar mijn kennis (en amper gebruik ervan) van regex is heel beperkt
Java:
1
2
3
4
5
6
7
8
9
10
11
| String input = "[technicalStatus]020[technicalStatus]"+ "[logicalStatus]050[logicalStatus]"+ "[pfysl8_naiy_err]NAS0199 E Geboortedatum 00.00.0000 is foutief.[pfysl8_naiy_err]"+ "[pfysl8_sexe_err]NAS0200 E Geslacht 0 foutief.[pfysl8_sexe_err]"; Pattern p = Pattern.compile("\\[(\\w\\p{Punct})*[^\\]]*\\].*?\\[(\\1)\\]"); String[] result = p.split(input); for ( int i = 0; i < result.length; i++) { System.err.println(i + " " + result[i] ); } |
wat is mijn rederning ?
Eerst zoeken naar een [ met daarin alles wat een letter of een symbool is, totdat je een ] tegen komt. Deze neem je al groep in een backreference (nummer 1) en dan neem je alle tekst wat volgt todat je terug een [ tegenkomt. Nu vul ik de backreference in en neem tot het eind waar ik terug een ] tegenkom. Op basis hiervan wil ik gaan splitsen.
"Live as if you were to die tomorrow. Learn as if you were to live forever"