Hinnavaatlus
:: Foorum
:: Uudised
:: Ärifoorumid
:: HV F1 ennustusvõistlus
:: Pangalink
:: Telekavad
:: HV toote otsing
|
|
autor |
|
keevitaja
AM 10 aastat

liitunud: 05.11.2001
|
11.05.2006 22:34:52
regulaar avaldist ei oska |
|
|
tere,
oleks tuvastada, kas lõigus on sees kolm komaga numbrit. näiteks: tere 3,09 ja 33,44 ning veel 466,44
kuidas seda regulaar avaldisena kirja panen? ise proovisin midagi sarnast, '([0-9],[0-9]){3}', kuid see ei tööta!
palun abi!
_________________ Hinnavaatlus ei ole koht arvamuse avaldamiseks! |
|
Kommentaarid: 51 loe/lisa |
Kasutajad arvavad: |
   |
:: |
1 :: |
3 :: |
40 |
|
tagasi üles |
|
 |
keevitaja
AM 10 aastat

liitunud: 05.11.2001
|
11.05.2006 22:42:45
|
|
|
siis tahaks leida veel rida, mis algab numbriga, siis sisaldab mida iganes, siis on rea lõpus koma ning peale koma kohe kaks numbrit. ehk siis: 4424 dfsd 555,00 fs fs.fs.dfsfsd ())( 44,00
'^[0-9](.*),[0-9]{2}$' - see ei paista töötavat!
_________________ Hinnavaatlus ei ole koht arvamuse avaldamiseks! |
|
Kommentaarid: 51 loe/lisa |
Kasutajad arvavad: |
   |
:: |
1 :: |
3 :: |
40 |
|
tagasi üles |
|
 |
nene
Kreisi kasutaja

liitunud: 20.03.2004
|
11.05.2006 22:56:05
|
|
|
1 komaga number:
3 komaga numbrit:
([0-9]+,[0-9]+).+?([0-9]+,[0-9]+).+?([0-9]+,[0-9]+) |
Sinu teise küsimuse vastuseks pakutud regulaaravaldis minul igastahes töötas.
|
|
Kommentaarid: 24 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
1 :: |
23 |
|
tagasi üles |
|
 |
keevitaja
AM 10 aastat

liitunud: 05.11.2001
|
11.05.2006 23:19:20
|
|
|
ma ikka ei oska. ehk aitate veel
on selline lause formaat
03.04.2000 3 6 Mingi Nimi 445,00
nüüd oleks vaja see 'Mingi Nimi' muutujasse saada!
03 asemel võib ka lihtsalt 3 olla. samuti ei pruugi peale kuupäeva olla kahte numbrit ning need numbrid võivad ka mitme kohalised olla. samuti võib 'Mingi Nimi' olla lihtsalt 'Nimi' või siis koosneda rohkem kui kahest sõnast!
_________________ Hinnavaatlus ei ole koht arvamuse avaldamiseks! |
|
Kommentaarid: 51 loe/lisa |
Kasutajad arvavad: |
   |
:: |
1 :: |
3 :: |
40 |
|
tagasi üles |
|
 |
nene
Kreisi kasutaja

liitunud: 20.03.2004
|
12.05.2006 11:23:23
|
|
|
Midagi sellist ehk:
------------kuupäev------------- mingid arvud ( ) --komaga arv--
^[0-9]{1,2}\.[0-9]{1,2}\.[0-9]{4} (?:[0-9]+ )*(.*?) [0-9]+,[0-9]+$
|
Mainin veel, et:
(?: ) - tähistab, et seda blokki ei püüta muutujasse
.*? - on sama mis .* kuid proovib haarata võimalikult vähe teksti
|
|
Kommentaarid: 24 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
1 :: |
23 |
|
tagasi üles |
|
 |
mirko28
Aeg maha 1p

liitunud: 31.12.2003
|
12.05.2006 11:32:18
php'ga |
|
|
keevitaja kirjutas: |
ma ikka ei oska. ehk aitate veel
03.04.2000 3 6 Mingi Nimi 445,00
nüüd oleks vaja see 'Mingi Nimi' muutujasse saada!
|
Testisin php's sellist avaldist:
$tekst = "03.04.2000 3 6 Mingi Nimi 445,00";
$regavaldis = "^([0-9]{1,2}.[0-9]{1,2}.[0-9]{4})(([^[:alpha:]])*)(([[:alpha:]]|[ ])*)(.*)$"; //03.04.2000
ereg ($regavaldis, $tekst, $regs);
if (ereg ($regavaldis, $tekst, $regs)){
foreach ($regs as $r)
echo "=>$r<BR>";
}else {
echo "reg avaldis ei sobi";
}
Väljund:
=>03.04.2000 3 6 Mingi Nimi 445,00
=>03.04.2000
=> 3 6
=>
=>Mingi Nimi
=>
=>445,00
Nagu näha, "Mingi Nimi" on seal kenasti olemas. Millegipärast on ka tühjad elemendid enne ja pärast elementi "Mingi Nimi", seda ei oska põhjendada hetkel, ilmselt on avaldises viga kusagil.
|
|
Kommentaarid: 5 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
4 |
|
tagasi üles |
|
 |
-Jaak-
HV vaatleja

liitunud: 22.11.2004
|
12.05.2006 16:54:28
|
|
|
peaks töötama kui need numbrid on vähegi normaalselt tekstis
parem oleks võibolla midagi stiilis
( |^)([1-9][0-9]+|0),[0-9]+( |$)
|
[edit]
Seda peaks juba lihtne olema edasi arendada matchimaks ridu kus on kolm või enam numbrit
üldiselt jah, läksin kergelt teemast mõõda
_________________ (1+sqrt(5))/2 |
|
tagasi üles |
|
 |
nene
Kreisi kasutaja

liitunud: 20.03.2004
|
13.05.2006 00:18:58
Re: php'ga |
|
|
estrose kirjutas: |
Millegipärast on ka tühjad elemendid enne ja pärast elementi "Mingi Nimi", seda ei oska põhjendada hetkel, ilmselt on avaldises viga kusagil.
|
ereg() IMHO siiski vingemate regulaaravaldiste kirjutamiseks hästi ei kõlba. Isegi PHP manuaal ütleb:
tsitaat: |
preg_match(), which uses a Perl-compatible regular expression syntax, is often a faster alternative to ereg(). |
Viga sul selles avaldises aga pole: väljundis on ridu täpselt nii palju kui avaldises on algavaid sulge pluss esimene rida, mis sisaldab kogu teksti.
|
|
Kommentaarid: 24 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
1 :: |
23 |
|
tagasi üles |
|
 |
Death
HV Guru

liitunud: 06.09.2003
|
14.05.2006 13:06:09
|
|
|
ise kah perli avaldisi igal pool eelistanud...
_________________ "To be or not to be?" is a question of when, not if. |
|
Kommentaarid: 39 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
36 |
|
tagasi üles |
|
 |
mirko28
Aeg maha 1p

liitunud: 31.12.2003
|
15.05.2006 10:21:16
Re: php'ga |
|
|
nene kirjutas: |
väljundis on ridu täpselt nii palju kui avaldises on algavaid sulge pluss esimene rida, mis sisaldab kogu teksti. |
Jah täpselt nii see ongi, ma ei teadnudki.
|
|
Kommentaarid: 5 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
4 |
|
tagasi üles |
|
 |
keevitaja
AM 10 aastat

liitunud: 05.11.2001
|
01.05.2010 10:53:41
|
|
|
oleks vaja kontrollida, kas kasutaja poolt stringina sisestatud faili nimi on kirjutamis kõlbulik... ehk siis ei sisalde &&%% jne
kuidas seda teha?
_________________ Hinnavaatlus ei ole koht arvamuse avaldamiseks! |
|
Kommentaarid: 51 loe/lisa |
Kasutajad arvavad: |
   |
:: |
1 :: |
3 :: |
40 |
|
tagasi üles |
|
 |
Supiplex
HV veteran

liitunud: 11.12.2002
|
02.05.2010 09:50:39
|
|
|
Lubab ainult tähed, numbrid ja "-_.,()". Pane neid lubatud märke sinna lõppu juurde nii palju kui tarvis.
'^[[:alnum:]\-\_.,\(\)]+$'
_________________ The young lady had an unusual list,
Linked in part to a structural weakness.
She set no preconditions. |
|
Kommentaarid: 38 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
1 :: |
34 |
|
tagasi üles |
|
 |
|