OldComp.cz
http://oldcomp.cz/

Online tool na kompozici regulárních výrazů (RegEx)
http://oldcomp.cz/viewtopic.php?f=113&t=6397
Stránka 11

Autor:  tomascz [ 07.06.2018, 10:57 ]
Předmět příspěvku:  Online tool na kompozici regulárních výrazů (RegEx)

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:

Stránka 11 Všechny časy jsou v UTC + 1 hodina [ Letní čas ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/