Hoi,
Ben bezig met een RTF naar HTML converter. Aangekomen bij de Tabellen .... wat een ongeregeld zooitje, geen vast pattroon, maar goed.
In de RTF code komt bijvoorbeeld dit voor: (zelf enters voor leesbaarheid ertussen gepompt)
Mijn regex:
Bovenstaande RTF code pakt ie goed, dus van \trowd en tot en met de \cell tag.
Mochten er nou meerdere \cell tags staan, mogelijk spatie gescheiden, dan zou de regex die \cell tags ook moeten mee nemen ....
Dus zoiets als
zou ie ook moeten pakken. Dus de extra \cell tags erbij.
Iemand enig idee hoe ik mijn Regex moet aanpassen?
Ik dacht zoiets als :
Maar die werkt niet ....
Ben bezig met een RTF naar HTML converter. Aangekomen bij de Tabellen .... wat een ongeregeld zooitje, geen vast pattroon, maar goed.
In de RTF code komt bijvoorbeeld dit voor: (zelf enters voor leesbaarheid ertussen gepompt)
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| ... \par \ltrrow\trowd \irow0\irowband0\lastrow \ltrrow\ts11\trgaph108\trrh491 \trleft1418\trftsWidth3\trwWidth8299\trftsWidthB3\trftsWidthA3 \trautofit1\trpaddl108\trpaddr108\trpaddfl3\trpaddfr3 \clvertalt\clbrdrt\brdrnone \clbrdrl\brdrnone \clbrdrb\brdrnone \clbrdrr\brdrnone \cltxlrtb\clftsWidth3\clwWidth992 \clshdrawnil \cellx2410\clvertalt\clbrdrt\brdrnone \clbrdrl\brdrnone \clbrdrb\brdrnone \clbrdrr\brdrnone \cltxlrtb\clftsWidth3\clwWidth3544\clshdrawnil \cellx5954 \clvertalt\clbrdrt\brdrnone \clbrdrl\brdrnone \clbrdrb\brdrnone \clbrdrr \brdrnone \cltxlrtb\clftsWidth3\clwWidth3763\clshdrawnil \cellx9717 \pard\plain \ltrpar\s15\ql \li0\ri0\widctlpar\intbl\tqc\tx4703\tqr\tx9406\faauto \rin0\lin0\pararsid12548772 \rtlch \af36\afs22\alang1025 \ltrch \f36\fs22\lang1043\langfe1033\cgrid \langnp1043\langfenp1033 \rtlch \af131\afs15 \ltrch \f131\fs15 \lang2057\langfe1033\langnp2057\insrsid3343233\charrsid9713264 \cell \rtlch \af131 .... |
Mijn regex:
code:
filtert een rij met één kolom.1
| \\trowd(.*?)\\cell(?=\W|\s) |
Bovenstaande RTF code pakt ie goed, dus van \trowd en tot en met de \cell tag.
Mochten er nou meerdere \cell tags staan, mogelijk spatie gescheiden, dan zou de regex die \cell tags ook moeten mee nemen ....
Dus zoiets als
code:
(RTF niet correcte code)1
2
| \lang2057 \trowd \langfe1033\langnp2057\insrsid3343233\charrsid9713264 \cell \cell \cell \rtlch |
zou ie ook moeten pakken. Dus de extra \cell tags erbij.
Iemand enig idee hoe ik mijn Regex moet aanpassen?
Ik dacht zoiets als :
code:
Dus: Begin met \trowd en pak alles (niet greedy) tot \cell. Deze cell moet worden gevolgd door een Non-character of White-space of één of meedere \cell gevolgd door een Non-character of spatie....1
| \\trowd(.*?)\\cell(?=\W|\s|(\s|\W(\\cell(?=\W|\s))*)) |
Maar die werkt niet ....