Autor Zpráva
Magnus123
Profil
Ahoj,

s regulárními výrazy to moc neumím, proto bych vás chtěl požádat, zda byste mi nemohli napsat regulární výraz, který zjistí, zda se jedná o název interface, který má vždy prefix velké I.
Problém mám s tím, jak napsat výraz tak, aby za písmenem I muselo být jiné písmeno, nebo aby tam to I bylo dvakrát (v případě, že by samotný název začínal písmenem I).
DJ Miky
Profil
Třeba takto detekuješ na začátku názvu velké „I“ následované dalším velkým písmenem:
^I[A-Z]
Nicméně nesmí nastat případ třídy obsahující zkratku, která je vypsaná velkými písmeny, např. IRCClient. Místo ní bys musel použít IrcClient.
Podle tvého zápisu („aby za písmenem I muselo být jiné písmeno“) by vyhověla např. třída Image, která zřejmě rozhraním nebude.
Magnus123
Profil
DJ Miky:
Díky za odpověď. Kvůli názvům typů "Image" potřebuji zjistit i to, zda se velké I nevyskytuje 2x za sebou. Interface pro takovou třídu by se pak trochu nešťastně jmenovalo "IImage".
MartyIX
Profil
Ja bych to asi resil takto:

ISomeInterface: http://php-functions.online-domain-tools.com/run/?function_name=preg_match&args_pattern=%2F%5EI(%5Ba-hA-Hj-zJ-Z%5D%5Ba-zA-Z%5D*)%24%2F&args_subject=ISomeInterface&args_offset=0 (projde)

IImage: http://php-functions.online-domain-tools.com/run/?function_name=preg_match&args_pattern=%2F%5EI(%5Ba-hA-Hj-zJ-Z%5D%5Ba-zA-Z%5D*)%24%2F&args_subject=IImage&args_offset=0 (neprojde)

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: