OldComp.cz

Komunitní diskuzní fórum pro fanoušky historických počítačů


Právě je 28.03.2024, 13:54

Všechny časy jsou v UTC + 1 hodina [ Letní čas ]




Odeslat nové téma Odpovědět na téma  [ Příspěvek: 1 ] 
Autor Zpráva
PříspěvekNapsal: 07.06.2018, 10:57 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 08.07.2013, 00:28
Příspěvky: 1554
Has thanked: 485 times
Been thanked: 634 times
Nejsem moc zdatný co se vymýšlení regulárních výrazů týče, vlastně bych počet jejich použití dokázal spočítat na prstech jedné ruky. Ale tenhle týden jsem opravdu urgentně potřeboval parsovat soubory Visual Studia (konkrétně *.sln) a trochu je změnit (a nechtěl jsem se mordovat s COMáckým interfacem SDKčka k Visual Studiu).
Kód:
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ClrImageManager", "BfCore\ClrWrapper\ClrImageManager\ClrImageManager.vcxproj", "{0602669A-AB0D-410E-907C-98C03E6F7096}"

Neskutečně mi přišla vhod jedna on-line služba na tvorbu regulárních výrazů - txt2re.com. Jednoduše vložíte "sample" řádky, kterou chcete parsovat (např. ta nahoře) a klikáním na jednotlivé její komponenty (např. číslo, řetězec, řetězec uzavřený v závorkách apod.) poskládáte výsledný výraz.
V mém případě (a po drobných ručních úpravách) vypadlo (komentáře a formátování je už moje dílo)
Kód:
Regex r=new Regex(  "(Project\\(.*\\)\\s+=\\s+)" +   // 'Project(<parent>) = '
                    "(\".*?\",\\s+)" +        // '"<projectName>", '
                    "(\")(.*?)(\",\\s+)"+     // '"<projectFileName>", '
                    "(\")(.*?)(\")",          // '"<projectGuid>"'
                    RegexOptions.IgnoreCase | RegexOptions.Singleline
                );

txt2re.com - skvělá výpomoc! :thumbup:

_________________
より良い競争相手からソフトウェアを購入する (。◕‿‿◕。)
Ďábel se skrývá v detailu (staré technické rčení)


Nahoru
 Profil  
 
Zobrazit příspěvky za předchozí:  Seřadit podle  
Odeslat nové téma Odpovědět na téma  [ Příspěvek: 1 ] 

Všechny časy jsou v UTC + 1 hodina [ Letní čas ]


Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 4 návštevníků


Nemůžete zakládat nová témata v tomto fóru
Nemůžete odpovídat v tomto fóru
Nemůžete upravovat své příspěvky v tomto fóru
Nemůžete mazat své příspěvky v tomto fóru
Nemůžete přikládat soubory v tomto fóru

Hledat:
Přejít na:  
Založeno na phpBB® Forum Software © phpBB Group
Český překlad – phpBB.cz