Sziasztok!
Tudna valaki segiteni nekem a kovetkezo regularis kifejezesek osszeallitasaban? Nagy hianyossagom, hogy nem all tul kozel hozzam a regularis nyelv. :(
1. olyan string amiben legalabb 3 szamjegy talalhato es nincs benne space karakter.
2. olyan string amiben nincs a es b karakteren kivul mas
3. olyan string ami betu es szam karakteren kivul mast is tartalmaz
ezekre illezkedo regexp kifejezeseket akarok osszehozni.
koszonom a segitseget.
T
- 1285 megtekintés
Hozzászólások
- A hozzászóláshoz be kell jelentkezni
koszonom a linket, ez sokat segitett, jo leiras!
on all of them solvable
- A hozzászóláshoz be kell jelentkezni
1) ^[^ ]*[0-9][^ ]*[0-9][^ ]*[0-9][^ ]*$
2) ^[ab]+$
3) - no itt a kérdést se értem
Én az egyszerűség okán nem sztringben, hanem teljes sorban gondolkoztam, ezt jelzi a ^valami$ forma (sor eleje/sor vége). A 2.-nál ezen kívül nem foglalkoztam azzal, hogy jó-e neked a nagybetű is, ha igen, akkor értelemszerűen odaírandó az is. Ja, és a Perl-féle regexp (PCRE) helett használtam a kicsit több szoftver által kezelt (noha szűkebb extended regexp-et ERE)
- A hozzászóláshoz be kell jelentkezni
koszi a segitseget! jo latni a megoldast, igy egyszerubben megertem.
a harmadiknal csak annyi volt, hogy ha a megadott karaktersorozatok kozott van olyan ami tartalmaz nem csak szamot es betut. Ezeket kell megjeleniteni. En igy oldottam meg:
[\da-zA-Z]*[^\da-zA-Z]+[\da-zA-Z]*
on all of them solvable
- A hozzászóláshoz be kell jelentkezni
meg annyi kerdesem lenne, hogy azt hogyan tudom elllenorizni, hogy paros vagy paratlen e az illeszkedo karakterek szama? van erre megoldas a regularis nyelvben?
koszonom a valaszt,
T
on all of them solvable
- A hozzászóláshoz be kell jelentkezni
paros [...] az illeszkedo karakterek szama
Hát erre egy ilyet tudok mondani hamarjában:
^([xy]{2})*$
.
- A hozzászóláshoz be kell jelentkezni
Vagy az adott programozási nyelven a "match", mint "string" hossza tartalmazza ezt az információt.
Ehhez valahogy hozzá lehet férni. Változó, hogy hogyan.
Pl. perlben:
$&
The string matched by the last successful pattern match (not counting any matches hidden within a BLOCK or eval() enclosed by the current BLOCK). (Mnemonic: like & in some editors.) This variable is read-only and dynamically scoped to the current BLOCK.
Na ennek a hosszát kell nézni.
- A hozzászóláshoz be kell jelentkezni
Jogos; lásd még regexec(); a zárójelezett alkifejezés utolsó illeszkedésének hosszát (ha volt iyen) megkapjuk a
pmatch[i].rm_eo - pmatch[i].rm_so
kifejezéssel.
- A hozzászóláshoz be kell jelentkezni