Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 5 odgovora
  • 3.309 pregleda

Najnovija ↓

RegExp preg_match 22.10.2010. u 02:58 · pre 195 meseci #1
Pozdrav,

celo vece se patim sa jednim regular expression i ne mogu nikako da resim pa sam dosao ovde pokusati naci pomoc(priznajem da sam pocetnik).Ideja je da se matchuje string koji se moze sastojati iz vise reci npr "Test", "Test 1", "Test 1 Test 2" znaci nebitno koliko reci u njemu bitno mi je da preg_match vrati array u kojem ce biti ceo taj stringJa sam pokusavao ovako

Code:

$pattern = '/\"([0-9a-zA-Z_=?!-]+\s?)*\"/';
$string = '"Test 12"';
preg_match($pattern, $string, $matches);


Medjutim u $matches dobijem samo '12', nikako ne mogu da dobijem Test 12, ima neko ideju ?
Re: RegExp preg_match 22.10.2010. u 07:47 · pre 195 meseci #2
Na tvoj kod, dodavsi jedno print_r($matches) imamo:
Citat:
Array
(
[0] => "Test 12"
[1] => 12
)


Dakle, samo nisi dobro odabrao sta uzeti iz $matches niza.
Potpis
Kad sve ostalo zakaže, pročitaj uputstvo...
Re: RegExp preg_match 22.10.2010. u 14:57 · pre 195 meseci
izmenjeno 1 put, poslednji put Zdravko T1 22.10.2010. u 15:15
  1. Zdravko T122.10.2010. u 15:15zapis iz teksta poruke
#3
Nazalost, u $matches[0] stoji uvek ceo string.Stvar je u tome sto je sto sam postavio zapravo deo jednog veceg regexpa i ne vredi mi nista ceo string, nego mi treba svaka vrednost posebno za kasnije obradjivanje. Evo dacu ceo primer kako je kod mene trenutno:

Code:

$string = '1    1    1    "string1 string2 string3"';
$pattern = '/(\d+\s)(\d+\s)(\d+\s)\"([0-9a-zA-Z_=?öø!-]+\s?)*\"/';

preg_match($pattern, $string, $matches);

$matches sada sadrzi
[0]=1 1 1 "string1 string2 string3"
[1]= 1
[2]= 1
[3] = 1
[4] = string3(umesto string1 string2 string3)

To je problem jer mi treba sve sto se nalazi pod navodnicima.
Re: RegExp preg_match 22.10.2010. u 16:34 · pre 195 meseci
izmenjeno 1 put, poslednji put Aleksandar Ružičić 22.10.2010. u 16:48
  1. Aleksandar Ružičić22.10.2010. u 16:48zapis iz teksta poruke
#4
Code (php):

$string = '1    1    1    "string1 string2 string3", "", "lorem ipsum 123", "123"';
$pattern = '!"(?:[^"]|\\.)*"!';

preg_match_all($pattern, $string, $matches);

print_r($matches);
 


sto daje:
Code:

Array
(
    [0] => Array
        (
            [0] => "string1 string2 string3"
            [1] => ""
            [2] => "lorem ipsum 123"
            [3] => "123"
        )
)
Potpis
rafforum.rs - Forum Računarskog Fakulteta
Re: RegExp preg_match 22.10.2010. u 19:35 · pre 195 meseci #5
^^ Tacno, uopste nisam jutros razmisljao... sta ti je kad covek zuri ;(

Izvinjavam se na netacnoj informaciji.
Potpis
Kad sve ostalo zakaže, pročitaj uputstvo...
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme