Novo

Forum kao aplikacija na telefonu

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

  • 8 odgovora
  • 2.653 pregleda

Najnovija ↓

Proklet regularni izraz... 25.03.2011. u 10:45 · pre 189 meseci
izmenjeno 1 put, poslednji put Milan M. Radovic 25.03.2011. u 11:09
  1. Milan M. Radovic25.03.2011. u 11:09zapis iz teksta poruke
#1
Ako nesto ne mogu da naucim, onda su to regularni izrazi.. molim za pomoc.

hocu da zamenim string koristeci preg_replace .... po uslovom da patern ima ispred sebe samo SPACE ili pocetak stringa, da iza sebe ima sve osim ALFANUM-a...

Ubicu se... nikad da nadjem lep, srpski, kompletan tutorijal za Regex...

/(^|[^\w]){$dictionary[$i]['word']}[^\w]/ ovo?
Potpis
I don't need a girl for sex , All I Need is Binary and HEX
Re: Proklet regularni izraz... 25.03.2011. u 13:10 · pre 189 meseci #2
ovo je najjednostavniji nacin:
Code (php):

$res = preg_replace('/(^|\s+)' . preg_quote($dictionary[$i]['word'], '/') . '([^a-zA-Z0-9])/', '$1REPLACED$2');
 


mada bi pomoglo kada bi dao primer stringa koji se nalazi u $dictionary[$i]['word']...
Potpis
rafforum.rs - Forum Računarskog Fakulteta
Re: Proklet regularni izraz... 26.03.2011. u 12:48 · pre 189 meseci #3
Ili nešto kao:
Code:
$output = preg_replace('/(?<=^|\s)'.preg_quote($dictionary[$i]['word'], '/').'(?=\W)/', 'REPLACE', $text);
Potpis
Banned - Not available
Re: Proklet regularni izraz... 27.03.2011. u 00:10 · pre 189 meseci #4
Ne znam da li je dozvoljeno kačenje linkova ka drugim sajtovima ali ovde imaš odlične tekstove za RegEX. Ja sam pre par meseci imao isti problem kao ti a to je da sa RegEX-om nisam znao ni odakle da počnem ni šta to uopšte radi. Prelistao sam ovaj sajt i mnoge stvari su mi postale jasnije. Daleko od toga da sad "sabijam" RegEX ali snalazim se, učim idalje ali više nemam glavobolje sa njim :)
Potpis
Bad programmers worry about the code. Good programmers worry about data
structures and their relationships.
Re: Proklet regularni izraz... 29.03.2011. u 09:03 · pre 189 meseci #5
Da pronadje "LAN" u "100Mbps LAN" ili "LAN konekcija" ali ne u "HoLANdija" ili u "HDMI,LAN,DVI"

Potpis
I don't need a girl for sex , All I Need is Binary and HEX
Re: Proklet regularni izraz... 29.03.2011. u 13:13 · pre 189 meseci #6
Možda:
Code:

$array = Array("100Mbps LAN", "LAN konekcija", "HoLANdija", "HDMI,LAN,DVI");

foreach($array as $item) {
  $output = preg_replace('/(?<=^|\s)LAN(?=\W|$)/', 'REPLACE', $item);
  echo $item . ' => ' . $output . '<br /><br />';
}
Potpis
Banned - Not available
Re: Proklet regularni izraz... 29.03.2011. u 15:11 · pre 189 meseci #7
Rešenje je u upotrebi \b (word boundary) escape sekvence. Ako hoćeš da match-uješ LAN isključivo kao zasebnu reč, stavi je između dva word boundary karaktera: /\bLAN\b/. To bi npr. match-ovalo sledeće string-ove:
LAN mreža
foobar LAN.
bar LAN baz
Re: Proklet regularni izraz... 29.03.2011. u 16:42 · pre 189 meseci #9
Da, u pravu si, :) ja sam ovako na prvu loptu, ne obraćajuću pažnju na detalje u njegovom post-u pomislio da je rešenje za ono što on traži jako jednostavno, tačnije to match-ovanje segmenata kao zasebnih reči.
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme