Hozzászólások
szeretnek 1-2 html tag-et regexel atvarazsolni mas formaba, ez mindaddig tokeletesen megy amig egy sorban van a nyito es a zaro html tag, de amint torik nem tudom hogyan tovabb.
<em>foobar dfgh dfg
ertpo hfgh</em>
ebbol szeretnek mondjuk ilyet:
*foobar dfgh dfg
ertpo hfgh*
ha nagyon bonyolult akkor nem lenyeges. thx.
- A hozzászóláshoz be kell jelentkezni
/m
Utalom, ha valaki annyira lusta, hogy a legalapabb dolgokat sem tudja elolvasni...
- A hozzászóláshoz be kell jelentkezni
koszonom.
- A hozzászóláshoz be kell jelentkezni
[quote:9acd14433c="roadr"]Perl regex csunya! Hasznaljatok POSIX regexet, az legalabb (elmeletileg) minden olyan rendszeren mukodik, ahol a sed megtalalhato.
Már miért lenne csúnya???? 8O 8O 8O Különben is, perl-ben miért ne használnám ki a perl lehetőségeit???
[quote:9acd14433c="roadr"]Azthiszem, sed pedig tobb rendszerben van meg bydefault mint perl (sot, valoszinuleg gyorsabb is nala, bar nem lattam teszteredmenyeket ;]).
Miért lenne több rendszeren??? Hol nem fut a perl ahol a sed fut??? Amúgy a kettő másra való, ha már össze akarod hasonlítani a perl-t valamivel, akkor inkább az (g|m)awk-val tedd meg, hiszen azok inkább hasonlítanak. Hiszen a sed, mint neve is mutatja egy editor (stream editor), míg a perl és az awk egy interpreter szövegfeldolgozásra kihegyezett nyelv :idea:
Zsiráf
- A hozzászóláshoz be kell jelentkezni
[quote:67686098d0="Orgi"]Eleg kezdo vagyok perl-ben es belebotlottam egy problemaba:
Van egy valtozom es ki kene szedni belole a legutolso ( elotti reszt es a legutolso ( utani szamot.
$x = "! barmi (lehet_itt) (20)"
Nekem olyan kene ami ebbol csinal olyat h:
$y = "! barmi (lehet_itt)"
$z = "20"
Otlet?
-Orgi-
ha legalabb vmi probalkozast latnank, akkor nyilvan tobb segiteseget kapnal... :wink:
- A hozzászóláshoz be kell jelentkezni
[quote:d6958f9ff0="szaszg"]Már miért lenne csúnya???? 8O 8O 8O Különben is, perl-ben miért ne használnám ki a perl lehetőségeit???
Most nem perlrol, hanem regexprol van szo altalaban.
[quote:d6958f9ff0="szaszg"]Miért lenne több rendszeren??? Hol nem fut a perl ahol a sed fut??? Amúgy a kettő másra való, ha már össze akarod hasonlítani a perl-t valamivel, akkor inkább az (g|m)awk-val tedd meg, hiszen azok inkább hasonlítanak. Hiszen a sed, mint neve is mutatja egy editor (stream editor), míg a perl és az awk egy interpreter szövegfeldolgozásra kihegyezett nyelv :idea:
Szerintem nem sok rendszeren talalhato meg a perl default install utan. Olvasd csak: default install.
Most pedig regexprol van szo, mint emlitettem, es mint a topic is mutatja. Erted: regexp. A perlnek csupan egyik funkcioja a regexp, es ha csak erre van szukseg, nem kifejezetten optimalis megoldas a perlel szopni.
Ha csak erre van szukseg.
- A hozzászóláshoz be kell jelentkezni
Hali!
Tovabbra is tartom:
mondj olyan rendszert, ahol van 'sed'-ed, de nincs 'perl'-ed... (mit jelent az, hogy default install??? Mert remelem abban egyet ertunk, hogy a WinFo$-on kivul ennek a fogalomnak nem sok helyen van ertelme :twisted: )...
Amugy meg, ha a 'perl'-el szopsz, akkor a 'sed'-del meg ketszeresen fogsz... :evil:
Amugy igazad van, ha csak regexp kell, akkor ne perl, hanem az a rendszer, ahol kell (pl. SQL, mc, ...) es ha nem tudja a rendszer imho akkor lehet kiserletezni a 'sed'-el, marha be tudod illeszteni a lancba... :P
Zsiraf
- A hozzászóláshoz be kell jelentkezni
[quote:a91ea2870f="szaszg"]Hali!
Tovabbra is tartom:
mondj olyan rendszert, ahol van 'sed'-ed, de nincs 'perl'-ed... (mit jelent az, hogy default install??? Mert remelem abban egyet ertunk, hogy a WinFo$-on kivul ennek a fogalomnak nem sok helyen van ertelme :twisted: )...
NetBSD. Default install alatt azt ertem, hogy magat a rendszert rakod fel, es nem a third-party cuccokat. Erted, nem?
[quote:a91ea2870f="szaszg"]Amugy meg, ha a 'perl'-el szopsz, akkor a 'sed'-del meg ketszeresen fogsz... :evil:
Nem, mert ahhoz nem kell egy uj syntaxot megtanulnom. Siman tudom kamatoztatni a POSIX szabvanynak megfelelo regexpismereteimet...
[quote:a91ea2870f="szaszg"]Amugy igazad van, ha csak regexp kell, akkor ne perl, hanem az a rendszer, ahol kell (pl. SQL, mc, ...) es ha nem tudja a rendszer imho akkor lehet kiserletezni a 'sed'-el, marha be tudod illeszteni a lancba... :P
Jo, ebben igazad van, adatbazis a forum temaja.
- A hozzászóláshoz be kell jelentkezni
a ket utolso karaktert a
substr($string, -2)
-el tudod kiszedni
itt egy pelda
[code:1:41dfb82822]
#!/usr/bin/perl
print "kerem a stringet: ";
chomp($x=<STDIN>);
print "\n\n";
$vege = substr($x, -2);
print $vege."\n";
[/code:1:41dfb82822]
de egyetertek vmiklos kollegaval, a probalkozasbol sokkal tobbet tanulnal....
- A hozzászóláshoz be kell jelentkezni
Hali!
[quote:a1540144de="roadr"]Default install alatt azt ertem, hogy magat a rendszert rakod fel, es nem a third-party cuccokat. Erted, nem?
nehezen :P Mert pl. ilyen ertelemben, mondjuk egy GNU/Linux disztribben lehet a 'sed' is third party... :oops: Csak nezopont kerdese... No, de felre a trefaval:
[quote:a1540144de="roadr"]Nem, mert ahhoz nem kell egy uj syntaxot megtanulnom. Siman tudom kamatoztatni a POSIX szabvanynak megfelelo regexpismereteimet...
Miert a perl-ben talan nem???? Ha jol megfigyeled, akkor az egyes POSIX-on tulmutato (ejnye de szepen mondtam) regexp-ek, mind a POSIX-et veszik alapul, azaz az az alap keszlet, es azon felul definialnak uj dolgokat. Ergo a POSIX tudasodat mindig kamatoztathatod, es csak akkor kell uj 'szintaxist tanulnod', ha tobbet akarsz, mint amid a POSIX nyujt... :lol:
Zsiraf
- A hozzászóláshoz be kell jelentkezni
jah, most olvasom el teljesen amit szeretnel... :)
akkor ez lesz a helyes ($1 valtozoban lesz az ertek, amit keresel)
[code:1:1586ca70fe]
#!/usr/bin/perl
print "kerem a stringet: ";
chomp($x=<STDIN>);
print "\n\n";
$x =~ m/\((..)\)$/;
print $1."\n";
[/code:1:1586ca70fe]
- A hozzászóláshoz be kell jelentkezni
[quote:1fa3db856f="szaszg"]Hali!
[quote:1fa3db856f="roadr"]Default install alatt azt ertem, hogy magat a rendszert rakod fel, es nem a third-party cuccokat. Erted, nem?
nehezen :P Mert pl. ilyen ertelemben, mondjuk egy GNU/Linux disztribben lehet a 'sed' is third party... :oops: Csak nezopont kerdese... No, de felre a trefaval:
Linux mint OS nemletezik. Linux csak disztribuciok formajaban mukodkepes, tehat a rendszert egy disztribucioval egyutt adja - ami altalaban mar magaba foglalja a perlt.
NetBSDnel ez nem igy van. Nade ebbe ne menjunk bele, hosszu vitatema lehetne...
[quote:1fa3db856f="szaszg"][quote:1fa3db856f="roadr"]Nem, mert ahhoz nem kell egy uj syntaxot megtanulnom. Siman tudom kamatoztatni a POSIX szabvanynak megfelelo regexpismereteimet...
Miert a perl-ben talan nem???? Ha jol megfigyeled, akkor az egyes POSIX-on tulmutato (ejnye de szepen mondtam) regexp-ek, mind a POSIX-et veszik alapul, azaz az az alap keszlet, es azon felul definialnak uj dolgokat. Ergo a POSIX tudasodat mindig kamatoztathatod, es csak akkor kell uj 'szintaxist tanulnod', ha tobbet akarsz, mint amid a POSIX nyujt... :lol:
Ezert kell oda escape perlben, ahova posixregexben nem, es viszont.
A perlnel egyebkent mas hatranyai is vannak: hatalmas, es lassu. Ennel fogva nem mindig a legmegfelelobb eszkoz regexpes feladataink elvegzesere...
- A hozzászóláshoz be kell jelentkezni
[quote:8dbfabac15="Zahy"]Volt itt egy olyan kérdés, hogy mutassunk olyan rendszert, ahol alapban nincs perl akkor, amikor sed van. Tekintettel, hogy legjobb tudomásom szerint ez a Hungarian UNIX Portal, emlitenék párat ebből a kategóriából:
HP HP-UX, HP/Compaq/Digital TRU64 UNIX, IBM AIX, SGI IRIX, Sun Solaris. Ja, és pl. kedvenc FreeBSD-mből a 5.x verzióból is kidobták az alapoprendszerből a perl-t. Szóval van egy-s-más ilyen is.
Zahy
Eddig akarhany Solris telepitettem mindegyikben volt Perl. Igaz en altalaban nem core systemet telepitek hanem a devel stuffot. Core systemben meg a man sincs benne :D
- A hozzászóláshoz be kell jelentkezni
[quote:905dd0e718="Panther"][quote:905dd0e718="Orgi"]Eleg kezdo vagyok perl-ben es belebotlottam egy problemaba:
Van egy valtozom es ki kene szedni belole a legutolso ( elotti reszt es a legutolso ( utani szamot.
$x = "! barmi (lehet_itt) (20)"
Nekem olyan kene ami ebbol csinal olyat h:
$y = "! barmi (lehet_itt)"
$z = "20"
Otlet?
-Orgi-
Gondolom az a bármi nen zárójel :)
[code:1:905dd0e718]
if ($x =~ /^(! [^(]*\([^)]*\)) \(([^)]*)\)$/) {
$y = $1;
$z=$2;
} else {
print "Game Over\n";
}
[/code:1:905dd0e718]
Ennel van lenyegesen egyszerubb, es biztosabb is, ami akkor is mukodik, ha a barmiben zarojel is van:
[code:1:905dd0e718]if ($x =~ /^(.*)\(([0-9]+)\)$/) {
$y = $1;
$z = $2;
}[/code:1:905dd0e718]
Ez egyszeruen azt mondja a regexp enginnek, hogy kezdodhet az adat akarmivel, a vegen zarojelben egy szamnak kell lennie, es ez a ket resz erdekel minket. Mivel az eleje teljesen mindegy, nem kell cicomazni, hogy ott mi lehet. Csak a veget kell jol megadni, leven arra van egyertelmu feltetelunk.
- A hozzászóláshoz be kell jelentkezni
ok-ok, de minek gondolkodni? :lol:
- A hozzászóláshoz be kell jelentkezni
slackban is csak develben van benne, de ez szerintem paranoia...
- A hozzászóláshoz be kell jelentkezni
[quote:4c6b2c9c00="Panther"]így olvashatóbb (extended regex a -r opció miatt)
utalom :twisted:
- A hozzászóláshoz be kell jelentkezni
[quote:fd5f65c15d="ch"][code:1:fd5f65c15d]sed '/^a/s/"/\\"/g'[/code:1:fd5f65c15d]
thx :wink:
- A hozzászóláshoz be kell jelentkezni
Volt itt egy olyan kérdés, hogy mutassunk olyan rendszert, ahol alapban nincs perl akkor, amikor sed van. Tekintettel, hogy legjobb tudomásom szerint ez a Hungarian UNIX Portal, emlitenék párat ebből a kategóriából:
HP HP-UX, HP/Compaq/Digital TRU64 UNIX, IBM AIX, SGI IRIX, Sun Solaris. Ja, és pl. kedvenc FreeBSD-mből a 5.x verzióból is kidobták az alapoprendszerből a perl-t. Szóval van egy-s-más ilyen is.
Zahy
- A hozzászóláshoz be kell jelentkezni
[quote:4b0e1da5c8="Panther"]ok-ok, de minek gondolkodni? :lol:
Miert, ehhez gondolkodni kell? O:)
Nekem jon kapasbol, mindenfele gondolkodas nelkul O:)
- A hozzászóláshoz be kell jelentkezni
[quote:a37d7e202b="Zahy"]Volt itt egy olyan kérdés, hogy mutassunk olyan rendszert, ahol alapban nincs perl akkor, amikor sed van. Tekintettel, hogy legjobb tudomásom szerint ez a Hungarian UNIX Portal, emlitenék párat ebből a kategóriából:
HP HP-UX, HP/Compaq/Digital TRU64 UNIX, IBM AIX, SGI IRIX, Sun Solaris. Ja, és pl. kedvenc FreeBSD-mből a 5.x verzióból is kidobták az alapoprendszerből a perl-t. Szóval van egy-s-más ilyen is.
Zahy
Na most irigykedem csak, hogy a debian alaprendszerből meg nem tudták még a python-t se kihajítani :-(
- A hozzászóláshoz be kell jelentkezni
[quote:5164a89906="gyu"]Na most irigykedem csak, hogy a debian alaprendszerből meg nem tudták még a python-t se kihajítani :-(
Nincs is benne az alaprendszerbe. Ugyanugy egy kulon csomag, mint rengeteg mas standard stuff is. Mas kerdes, hogy te a mittudomen milyen taskselt hasznalod telepitesre, ami felrak egy kupac felesleges dolgot.
- A hozzászóláshoz be kell jelentkezni
Koszi, de lehet h rosszul fogalmaztam meg mit is akarok.
Egy olyan megoldas kellene ami egy valtozoban tarolt tetszoleges szovegbol a legutolso balra zarojelig '(' levagja azt es kulon kiirja, majd ami a legelso '(' utan volt azt is kiirja. Ez utobbi mindig egy szam.
Nehany pelda:
$x = "xxxx () [] (10)"
$x = "aa.( ][ ) -40- (10)"
$x = "20 (20) .( ) (10)"
Az eljarasnak a fenti peldakbol mindig a '10'-et kene kiszednie es azt ami elotte van.
Alljon itt egy probalkozasom aminek mukodnie kene de megse... :-(
#!/usr/bin/perl
@x = split(/\($/, $x); # Szoveg szetszedese legutolso '(' -nel
print @x[0]; # Szoveg kiirasa
chop @x[1]; # Legutolso ')' -et lekapjuk
print @x[1]; # Szoveg legvegen talalhato szam (ami zarojelben volt) kiirasa
-Orgi-
- A hozzászóláshoz be kell jelentkezni
[quote:bcd7cff0cf="roadr"][quote:bcd7cff0cf="gyu"]Na most irigykedem csak, hogy a debian alaprendszerből meg nem tudták még a python-t se kihajítani :-(
Nincs is benne az alaprendszerbe. Ugyanugy egy kulon csomag, mint rengeteg mas standard stuff is. Mas kerdes, hogy te a mittudomen milyen taskselt hasznalod telepitesre, ami felrak egy kupac felesleges dolgot.
Bocs, rosszul fogalmaztam: standard priority-je van nekije, csak azert, mert a reportbug, ami szinten standard priority-ű, függ tőle.
De ilyenek függnek még tőle mint apt-listchanges, és hasonlók :-(
És imho ilyen dolgoknak nem kéne pythonfüggőnek lenniük.
- A hozzászóláshoz be kell jelentkezni
[quote:f032109bff="gyu"][quote:f032109bff="roadr"][quote:f032109bff="gyu"]Na most irigykedem csak, hogy a debian alaprendszerből meg nem tudták még a python-t se kihajítani :-(
Nincs is benne az alaprendszerbe. Ugyanugy egy kulon csomag, mint rengeteg mas standard stuff is. Mas kerdes, hogy te a mittudomen milyen taskselt hasznalod telepitesre, ami felrak egy kupac felesleges dolgot.
Bocs, rosszul fogalmaztam: standard priority-je van nekije, csak azert, mert a reportbug, ami szinten standard priority-ű, függ tőle.
De ilyenek függnek még tőle mint apt-listchanges, és hasonlók :-(
És imho ilyen dolgoknak nem kéne pythonfüggőnek lenniük.
Hat... cvs2cl is perlfuggo... ;]
Sot, az adduser meg a deluser is perlfuggo, ami erdekes, mert 4.x FreeBSDkben csak az van, semmi user* (javitsatok ki, ha tevedek).
Szoval apt-listchanges meg cvs2cl meg elmegy, mert az elegge opcionalis stuff, de egy userdatabasepiszkalo stuff eseteben mar szerencsetlen dolog szerintem...
- A hozzászóláshoz be kell jelentkezni
[quote:d64ab94678="gyu"][quote:d64ab94678="roadr"][quote:d64ab94678="gyu"]Na most irigykedem csak, hogy a debian alaprendszerből meg nem tudták még a python-t se kihajítani :-(
Nincs is benne az alaprendszerbe. Ugyanugy egy kulon csomag, mint rengeteg mas standard stuff is. Mas kerdes, hogy te a mittudomen milyen taskselt hasznalod telepitesre, ami felrak egy kupac felesleges dolgot.
Bocs, rosszul fogalmaztam: standard priority-je van nekije, csak azert, mert a reportbug, ami szinten standard priority-ű, függ tőle.
De ilyenek függnek még tőle mint apt-listchanges, és hasonlók :-(
És imho ilyen dolgoknak nem kéne pythonfüggőnek lenniük.
Package: python2.2
Status: install ok installed
Priority: optional
Szóval optional priorityje van nekije :) Más kérdés, hogy a reportbug standard, és valóban függ a pythontól, szóval az elkefélés esete forog fenn :D
- A hozzászóláshoz be kell jelentkezni
[quote:ce06e91858="roadr"]
Hat... cvs2cl is perlfuggo... ;]
Sot, az adduser meg a deluser is perlfuggo, ami erdekes, mert 4.x FreeBSDkben csak az van, semmi user* (javitsatok ki, ha tevedek).
Szoval apt-listchanges meg cvs2cl meg elmegy, mert az elegge opcionalis stuff, de egy userdatabasepiszkalo stuff eseteben mar szerencsetlen dolog szerintem...
Akkor kijavítalak. FreeBSD-ben kb ezer éve létezik egy pw nevű ketyere, amit a perl-es adduser és tsai helyett lehet használni (direkt megnéztem, nehogy rosszat mondjak, C-ben van írva) Amúgy én pont azt írtam, hogy az 5.x-ből dobták ki a perl-t, nem a 4-esből.
Zahy
- A hozzászóláshoz be kell jelentkezni
[quote:f035bc6fa6="Orgi"]Koszi, de lehet h rosszul fogalmaztam meg mit is akarok.
Egy olyan megoldas kellene ami egy valtozoban tarolt tetszoleges szovegbol a legutolso balra zarojelig '(' levagja azt es kulon kiirja, majd ami a legelso '(' utan volt azt is kiirja. Ez utobbi mindig egy szam.
Nehany pelda:
$x = "xxxx () [] (10)"
$x = "aa.( ][ ) -40- (10)"
$x = "20 (20) .( ) (10)"
Az eljarasnak a fenti peldakbol mindig a '10'-et kene kiszednie es azt ami elotte van.
Alljon itt egy probalkozasom aminek mukodnie kene de megse... :-(
#!/usr/bin/perl
@x = split(/\($/, $x); # Szoveg szetszedese legutolso '(' -nel
print @x[0]; # Szoveg kiirasa
chop @x[1]; # Legutolso ')' -et lekapjuk
print @x[1]; # Szoveg legvegen talalhato szam (ami zarojelben volt) kiirasa
-Orgi-
Hasznald az en megoldasom, az pontosan ezt csinalja. $y lesz az utolso ( elotti resz, $z meg a szam.
A te megoldasod azert nem jo, mert \($ azt jelenti, hogy (-re, mint a legutolsora matchelne, ami pedig nem jon be, mert nem ( az utolso, hiszen utana jon meg a szam meg a ).
A teljesseg kedveert, ime a program maga:
[code:1:f035bc6fa6]#! /usr/bin/perl -w
use strict;
my (@x, $e);
$x[0] = "xxxx () [] (10)";
$x[1] = "aa.( ][ ) -40- (10)";
$x[2] = "20 (20) .( ) (10)";
foreach $e (@x) {
if ($e =~ /^(.*)\(([0-9]+)\)$/) {
print "Szoveg: " . $e . "\n";
print "\tUtolso ( elotti resz: " . $1 . "\n";
print "\tUtolso ()-beli szam: " . $2 . "\n";
}
}[/code:1:f035bc6fa6]
Es a kimenete:
[code:1:f035bc6fa6]Szoveg: xxxx () [] (10)
Utolso ( elotti resz: xxxx () []
Utolso ()-beli szam: 10
Szoveg: aa.( ][ ) -40- (10)
Utolso ( elotti resz: aa.( ][ ) -40-
Utolso ()-beli szam: 10
Szoveg: 20 (20) .( ) (10)
Utolso ( elotti resz: 20 (20) .( )
Utolso ()-beli szam: 10[/code:1:f035bc6fa6]
Ranezesre teljesen korrektul mukodik.
- A hozzászóláshoz be kell jelentkezni
[quote:020c8ffc3b="Zahy"]
Akkor kijavítalak. FreeBSD-ben kb ezer éve létezik egy pw nevű ketyere, amit a perl-es adduser és tsai helyett lehet használni (direkt megnéztem, nehogy rosszat mondjak, C-ben van írva) Amúgy én pont azt írtam, hogy az 5.x-ből dobták ki a perl-t, nem a 4-esből.
Zahy
Kosz a helyreigazitast ;]
Egyebkent olvastam, hogy csak az 5.xbol van kiszedve a perl, ezert hangsulyoztam ki, hogy a 4.xrol van szo.
- A hozzászóláshoz be kell jelentkezni
sot az en megoldasom is ugyanazt csinalja... a peldakon is ugyanez latszik...
- A hozzászóláshoz be kell jelentkezni
[quote:bf0589218a="Friczy"]
Package: python2.2
Status: install ok installed
Priority: optional
Szóval optional priorityje van nekije :) Más kérdés, hogy a reportbug standard, és valóban függ a pythontól, szóval az elkefélés esete forog fenn :D
Ehh... Akárhogy is írok, tuti akad olyan, aki félre tudja érteni:
Van egy python csomag, aminek a priority-je standard.
És ez a python csomag függ a python2.1 csomagtól. És mind a python, mind a python2.1 csomag priority-ja standard. Ettől függetlenül, te tehetsz fel magadnak 2.2-es pythont _IS_.
Ugyanúgy mint a tk-ból is lehet fenn egyszerre 8.2 és 8.3 is.
- A hozzászóláshoz be kell jelentkezni
[quote:3c8317830a="FoREE"]sot az en megoldasom is ugyanazt csinalja... a peldakon is ugyanez latszik...
Nem teljesen, mert a te altalad irt kod egyreszt csak ketjegyu szamot tud kiszedni, raadasul az utolso () kozott akarmilyen ket karakterre matchel, nem pedig csak a szamokra, es az ez elott levo szoveggel nem csinal semmit, pedig ez is igeny volt, hogy azt is ki kene irni vagy valtozoba tenni.
Ha kiegeszited, hogy tudja ami a tenyleges feladat volt, akkor kb ugyanazt a regexpet kapod, mint amit en is hasznaltam. Vagy lehet persze olyat is csinalni, hogy kinyered valahogy a szamot, aztan azt a reszt lecsapod az eredeti stringbol, de az szerintem sokkal kevesbe elegansabb es tobb kodot igenyel.
- A hozzászóláshoz be kell jelentkezni
Hm, legyunk tomorek alapon, ime itt egy sub, ami egy arrayban visszaadja a kert dolgokat.
[code:1:5ec756b6c1]sub yada_split($) {
return ($1, $2) if ($_[0] =~ /^(.*)\(([0-9]+)\)$/) or return ($_[0], '');
}[/code:1:5ec756b6c1]
Amennyiben a string nem felel meg a kovetelmenyeknek, a visszaadott tomb 0. eleme az eredeti szoveg lesz, a masodik meg ures.
- A hozzászóláshoz be kell jelentkezni
Koszi algernon! :D
- A hozzászóláshoz be kell jelentkezni
vissza a topichoz...
lehetoleg seddel (de vegulis ez nem kovetelmeny) szeretnem lecserelni az "eket \"re 1 file-ban azokban a sorokban, amik mondjuk abetuvel kezdodnek.
ha tudom, h 2 " lesz, akkor marha 1xu:[code:1:9e2cf34bea]s/^\(a.*\)"\(.*\)"\(.*\)/\1\\"\2\\"\3/[/code:1:9e2cf34bea]
nade mivan akkor ha tettszoleges szamu " lesz? :?
- A hozzászóláshoz be kell jelentkezni
Nem csak ide tartozik de mindegy azert ide postolom.
(Meg) nem vagy profi regexp keszitesben, vagy valami bonyolultra keresel kesz megoldast?
Probald ki ezt :arrow: http://regexlib.com
Ki is lehet probalni a regexpeket sajat inputtal stb.
pl 8O
[code:1:7d7e3ef722]^(?:(?:(?:0?[13578]|1[02])(\/|-|\.)31)\1|(?:(?:0?[1,3-9]|1[0-2])(\/|-|\.)(?:29|30)\2))(?:(?:1[6-9]|[2- 9]\d)?\d{2})$|^(?:0?2(\/|-|\.)29\3(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])| (?:(?:16|[2468][048]|[3579][26])00))))$|^(?:(?:0?[1-9])|(?:1[0-2]))(\/|-|\.)(?:0?[1-9]|1\d|2[0- 8])\4(?:(?:1[6-9]|[2-9]\d)?\d{2})$ [/code:1:7d7e3ef722]
This expression validates dates in the US m/d/y format from 1/1/1600 - 12/31/9999. The days are validated for the given month and year. Leap years are validated for all 4 digits years from 1600-9999, and all 2 digits years except 00 since it could be a ...
de ez se rossz...
[code:1:7d7e3ef722]^([a-zA-Z0-9_\-])+(\.([a-zA-Z0-9_\-])+)*@((\[(((([0-1])?([0-9])?[0- 9])|(2[0-4][0-9])|(2[0-5][0-5])))\.(((([0-1])?([0-9])?[0-9])|(2[0-4][0- 9])|(2[0-5][0-5])))\.(((([0-1])?([0-9])?[0-9])|(2[0-4][0-9])|(2[0-5][0- 5])))\.(((([0-1])?([0-9])?[0-9])|(2[0-4][0-9])|(2[0-5][0-5]))\]))|((([a- zA-Z0-9])+(([\-])+([a-zA-Z0-9])+)*\.)+([a-zA-Z])+(([\-])+([a-zA- Z0-9])+)*))$[/code:1:7d7e3ef722]
Email expression match that allows both IP addresses and regular domains. In the case of an IP address it makes sure that it is no more than 255 for each part.
- A hozzászóláshoz be kell jelentkezni
[quote:4b8e6af61a="vmiklos"]nade mivan akkor ha tettszoleges szamu " lesz? :?
elso blikkre azt mondanam: bontsd ket reszre a feladatot. legyen egy grep, ami csak azt nezi, hogy a-val kezdodjon a sor, majd ha ennek a kiertekelese true, akkor johet ra a [code:1:4b8e6af61a]sed 's/"/\\"/g'[/code:1:4b8e6af61a]
- A hozzászóláshoz be kell jelentkezni
Hali!
Tényleg szuper kis regexp, minden tiszteletem a megalkotójának...
De ez mit keres az adatbázis programozás témában? Én inkább a script (perl)-be vagy az egyébbe tettem volna
Zsiráf
- A hozzászóláshoz be kell jelentkezni
[quote:9d43e448bd="vmiklos"]vissza a topichoz...
lehetoleg seddel (de vegulis ez nem kovetelmeny) szeretnem lecserelni az "eket \"re 1 file-ban azokban a sorokban, amik mondjuk abetuvel kezdodnek.
ha tudom, h 2 " lesz, akkor marha 1xu:[code:1:9d43e448bd]s/^\(a.*\)"\(.*\)"\(.*\)/\1\\"\2\\"\3/[/code:1:9d43e448bd]
nade mivan akkor ha tettszoleges szamu " lesz? :?
Én jobbat javaslok (igazából csak csinosítás, de akkor is :P)
[code:1:9d43e448bd]sed -r 's/(a.*)"(.*)"(.*)/\1\\"\2\\"\3/'[/code:1:9d43e448bd]
így olvashatóbb (extended regex a -r opció miatt)
- A hozzászóláshoz be kell jelentkezni
Eleg kezdo vagyok perl-ben es belebotlottam egy problemaba:
Van egy valtozom es ki kene szedni belole a legutolso ( elotti reszt es a legutolso ( utani szamot.
$x = "! barmi (lehet_itt) (20)"
Nekem olyan kene ami ebbol csinal olyat h:
$y = "! barmi (lehet_itt)"
$z = "20"
Otlet?
-Orgi-
- A hozzászóláshoz be kell jelentkezni
De ez mit keres az adatbázis programozás témában? Én inkább a script (perl)-be vagy az egyébbe tettem volna
:arrow:
Nem csak ide tartozik de mindegy azert ide postolom.
Erosen gondolkodtam hova kuldjem, de mivel nekem SQLezes kozben jott ki legutobb ez a regexp gyartas problema, vegul itt landolt...
- A hozzászóláshoz be kell jelentkezni
Perl regex csunya! Hasznaljatok POSIX regexet, az legalabb (elmeletileg) minden olyan rendszeren mukodik, ahol a sed megtalalhato.
Azthiszem, sed pedig tobb rendszerben van meg bydefault mint perl (sot, valoszinuleg gyorsabb is nala, bar nem lattam teszteredmenyeket ;]).
- A hozzászóláshoz be kell jelentkezni
[quote:da52bb49ed="LiRul"][quote:da52bb49ed="vmiklos"]nade mivan akkor ha tettszoleges szamu " lesz? :?
elso blikkre azt mondanam: bontsd ket reszre a feladatot. legyen egy grep, ami csak azt nezi, hogy a-val kezdodjon a sor, majd ha ennek a kiertekelese true, akkor johet ra a [code:1:da52bb49ed]sed 's/"/\\"/g'[/code:1:da52bb49ed]
[code:1:da52bb49ed]sed '/^a/s/"/\\"/g'[/code:1:da52bb49ed]
- A hozzászóláshoz be kell jelentkezni
[quote:dadb3f482a="Orgi"]Eleg kezdo vagyok perl-ben es belebotlottam egy problemaba:
Van egy valtozom es ki kene szedni belole a legutolso ( elotti reszt es a legutolso ( utani szamot.
$x = "! barmi (lehet_itt) (20)"
Nekem olyan kene ami ebbol csinal olyat h:
$y = "! barmi (lehet_itt)"
$z = "20"
Otlet?
-Orgi-
Gondolom az a bármi nen zárójel :)
[code:1:dadb3f482a]
if ($x =~ /^(! [^(]*\([^)]*\)) \(([^)]*)\)$/) {
$y = $1;
$z=$2;
} else {
print "Game Over\n";
}
[/code:1:dadb3f482a]
man perlre?
- A hozzászóláshoz be kell jelentkezni
[quote:011718ff85="ch"][code:1:011718ff85]sed '/^a/s/"/\\"/g'[/code:1:011718ff85]
Emelem kalapom. :wink:
- A hozzászóláshoz be kell jelentkezni