Advertisement
pixycz

Untitled

Sep 3rd, 2016
183
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.28 KB | None | 0 0
  1. Jde o to, že mám text obsahující sekvence řetězců – které dokážu poměrně netriviálním RE poznat – a ty musím následně nějak zpracovat a nahradit je výsledkem v původním textu. Ty řetězce jsou buď na samostatném řádku oddělené definovanou množinou znaků, která může být volitelně před a za, ale povinně mezi – anebo jsou uzavřeny do {…}. Blbé na tom je, že ten regulár, který poznává ty prvky, už je sám dost složitý a obsahuje spousty závorek, řekněme takového typu
  2.  
  3. ((((bla)[bla|bla]?)*((bla)(bla)bla))+bla(bla)?)
  4.  
  5. a takových musí být sekvence podle daných pravidel (viz výše). A ve výsledku mi string.match() dá jen poslední nalezený, a já je mám ještě zpracovat a nahradit v původním textu…
  6.  
  7. Když to trochu zjednoduším jako paralelu, představte si, že máte najít určité emailové adresy v textu a v HTML je obalit <b> a </b> a TLD doménu nahradit "###". Zbytek textu kolem musí zůstat v původní podobě. Máte (poměrně komplikovaný) RE, kterým poznáte emailovou adresu, zpracovat ji umíte, ale je pravidlo, že zpracovat se mají jen sekvence emailových adres, kde kromě nich je už jen prázdné místo nebo nějaká interpukce, a tato sekvence je buď sama na řádku, nebo je uzavřena v {…}.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement