Diskuze: Regulární výraz pro název interface

PHP PHP Regulární výraz pro název interface American English version English version

Avatar
Martin Konečný (pavelco1998):

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).

To znamená, aby prošly názvy např. ILocalization, IImage.

Editováno 9.1.2014 17:59
 
Odpovědět 9.1.2014 17:58
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Martin Konečný (pavelco1998)
David Čápka:

Pokud chceš jen aby začínali na I, tak takto:

if (preg_match('/^I/', $text))

Stříška máš že to začíná, dolar že to končí.

Nahoru Odpovědět 9.1.2014 19:19
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
Marek Z.
Redaktor
Avatar
Marek Z.:

Zde najdeš parádně sepsané základy i s příklady:

http://www.regularnivyrazy.info/…syntaxe.html

Nahoru Odpovědět  ±0 9.1.2014 19:35
Chybami se člověk učí, běžte se učit jinam!
Avatar
Martin Konečný (pavelco1998):

Díky za odpovědi. Úplný začátečník nejsem, ale nemohl jsem přijít na to, jak jedním regulárem splnit obě dvě podmínky.
Zatím mi pár testů prošlo s "#^I[A-Z]|I[a-hA-Hj-zJ-Z]$#".

 
Nahoru Odpovědět 9.1.2014 19:46
Avatar
Kit
Redaktor
Avatar
Odpovídá na Martin Konečný (pavelco1998)
Kit:
preg_match('/^I[A-Z]/', $text)

Názvy ILocalization a IImage projdou.

Nahoru Odpovědět 9.1.2014 19:52
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Odpovídá na Kit
Martin Konečný (pavelco1998):

Hmm, díky za kratší řešení. Něco takového jsem zkoušel taky, ale měl jsem na konci dolar, kvůli kterému to nefungovalo.

 
Nahoru Odpovědět 9.1.2014 19:54
Avatar
Kit
Redaktor
Avatar
Odpovídá na Martin Konečný (pavelco1998)
Kit:

S dolarem to jde také:

preg_match('/^I[A-Z][a-zA-Z]*$/', $text)
Nahoru Odpovědět 9.1.2014 19:58
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Odpovídá na Kit
Martin Konečný (pavelco1998):

Už stačí, teď si připadám strašně hloupý. :-D
Díky za pomoc.

 
Nahoru Odpovědět 9.1.2014 20:02
Avatar
Kit
Redaktor
Avatar
Odpovídá na Martin Konečný (pavelco1998)
Kit:

Obvykle je mnohem jednodušší napsat nový regulár, než pochopit cizí nebo svůj vlastní po půl roce. Reguláry jsou velmi mocnou zbraní, používám je denně a většinou si je ani neukládám.

Nahoru Odpovědět 9.1.2014 20:07
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
mkub
Redaktor
Avatar
Odpovídá na Martin Konečný (pavelco1998)
mkub:

pri Kitovi si aj ja pripadam uplne hlupucky

 
Nahoru Odpovědět 9.1.2014 20:46
Avatar
Kit
Redaktor
Avatar
Odpovídá na mkub
Kit:

Nepřeháněj. Ty a Martin Konečný (pavelco1998) jste jedni z mála, se kterými si můžu povídat o programování. Tím neodsuzuji ostatní a omlouvám se těm, které jsem nejmenoval.

Nahoru Odpovědět 9.1.2014 20:56
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
mkub
Redaktor
Avatar
Odpovídá na Kit
mkub:

tak to vobec neprehanam... mam sa este co ucit

 
Nahoru Odpovědět 9.1.2014 22:34
Avatar
Kit
Redaktor
Avatar
Odpovídá na mkub
Kit:

To je přesně ono. Také se ještě mám co učit. Když toho někdo hodně umí, tak stále vidí, co všechno ještě neumí a má pocit, že je stále víc a víc toho, co neumí. Začne pochybovat o tom, jestli vůbec něco umí.

Blbec to má mnohem jednodušší. Ví docela přesně, že on umí všechno a blbci jsou ti okolo.

Editováno 9.1.2014 22:42
Nahoru Odpovědět  +1 9.1.2014 22:42
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 13 zpráv z 13.