Stránka: 1 z 1
| [ Príspevkov: 26 ] | |
Autor | Správa |
---|
Registrovaný: 05.02.07 Prihlásený: 27.03.12 Príspevky: 113 Témy: 31 | 31 Bydlisko: SK/Prievidza |
Zdravim poteboval by som trochu pomoct s regularnymi vyrazmi v PHP motkam sa s tym uz pekne dlho ale nikdy nedostanem to co chcem potrebujem vyraz, ktory zacina http:// medzitym su znaky iba a-z A-Z 0-9 . / a vyraz sa konci .swf
dakujem velmi pekne
_________________ MB:ASUS P5Q PRO CPU: Intel Core 2 Quad Q9300 2.5GHz + Thermalright Ultra-120 eXtreme+Scythe S-Flex 120mmFAN 1200rpm GPU: ATI Sapphire HD4870 1GBRAM:4GB DDR2-800Mhz CL5 Kingston 2x2GB HDD:WD6400AAKS 640GB 2x PSU:Enermax MODU82+ EMD525AWT DVDRW:LG GH22LS30 LS CASE: ThermalTake VI1000BWS M9 Monitor:Samsung LCD 24" 2493HM OS:OEM WIndows Vista Home Premium 64bit SK |
|
Registrovaný: 27.07.07 Príspevky: 3948 Témy: 51 | 51 Bydlisko: Bratislava |
staci si to, co si napisal, prelozit do "jazyka" regularnych vyrazov:
- vyraz zacina http://
Kód: ^http:\/\/ - medzitym su iba znaky a-z A-Z 0-9 . / Kód: [a-zA-Z0-9\.\/]+ - vyraz sa konci .swf Kód: \.swf$
nakoniec to staci uz len zlozit dokopy...
_________________ NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE |
|
Registrovaný: 11.08.07 Príspevky: 4088 Témy: 34 | 34 Bydlisko: Brno |
Len doplnim, lomitko sa escapuje iba vtedy, ked pouzivas samotne lomitko aj ako delimeter.
|
|
Registrovaný: 27.07.07 Príspevky: 3948 Témy: 51 | 51 Bydlisko: Bratislava |
jj, lomitko som pouzival ako delimiter, preto tie opacne lomitka...
_________________ NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE |
|
Registrovaný: 05.02.07 Prihlásený: 27.03.12 Príspevky: 113 Témy: 31 | 31 Bydlisko: SK/Prievidza |
Dakujem velmi pekne, potreboval by som este pomoct s regularnym vyrazom aby vedel vyhladat aj slova s diakritikou potrebujem aby nasiel vyraz MEDZERA-MEDZERAroznep_pismena_aj_diakritikaMEDZERAflash
skusal som Kód: \s-\s[a-zA-ZÁ-Žá-ž0-9]\.\/-]+flash ale nefungovalo to pise mi: Compilation failed: range out of order in character class at offset 14
Dakujem za pomoc
_________________ MB:ASUS P5Q PRO CPU: Intel Core 2 Quad Q9300 2.5GHz + Thermalright Ultra-120 eXtreme+Scythe S-Flex 120mmFAN 1200rpm GPU: ATI Sapphire HD4870 1GBRAM:4GB DDR2-800Mhz CL5 Kingston 2x2GB HDD:WD6400AAKS 640GB 2x PSU:Enermax MODU82+ EMD525AWT DVDRW:LG GH22LS30 LS CASE: ThermalTake VI1000BWS M9 Monitor:Samsung LCD 24" 2493HM OS:OEM WIndows Vista Home Premium 64bit SK |
|
Registrovaný: 16.05.07 Prihlásený: 01.08.17 Príspevky: 837 Témy: 6 | 6 |
http://www.regular-expressions.info/unicode.html píše: To match a letter including any diacritics, use \p{L}\p{M}*. This last regex will always match à, regardless of how it is encoded.
|
|
Registrovaný: 26.12.06 Prihlásený: 16.11.19 Príspevky: 3971 Témy: 181 | 181 Bydlisko: Nitra / Bra... |
zdravim, mozete mi prosim pomoct s reg. vyrazmi? je to moja slaba stranka
mam vyraz Kód: preg_match_all('#{G (.*?)}#i', $X, $Y); ktory funguje dobre, ale chcel by som ho obohatit o escapovanie. takze ak mam Kód: $X = 'nejaky text {G text na vyber \} a tak dalej}'; aby mi vybralo text na vyber \} a tak dalej a nie text na vyber \dakujem edit - riesenie:Kód: #\{G (.*?)(?<!\\\)\}#i
_________________ Sorry za prelkepy |
|
Registrovaný: 21.06.09 Prihlásený: 28.05.11 Príspevky: 179 Témy: 41 | 41 |
Ahojte, cely den sa trapim s jednym reg.vyrazom.Ide mi o to aby dokazal pracovat s diakritikov.
Studoval som na internete roznu literaturu, ale nejako sa mi to nepodarilo
napr. na http://www.regular-expressions.info/unicode.html som sa docital ze je potrebne pouzit
Kód: \p{L}\p{M}* bohuzial mne sa to nepodarilo spojazdnit Mam takyto jednoduchy kod: Kód: $message = "ľščťžýáí"; $aa = preg_match("/^[\w\s\d]$/",$message); if ($aa) echo "<h1>true</h1>"; else echo "<h1>false</h1>"; Najprv som to skusal s: Kód: \w\s\d co su vlastne znaky slova,cisla a prazdne znaky Potom s: Kód: $aa = preg_match("/^[\p{L}\p{M}]$/",$message); Kód: $aa = preg_match("/^[\P{M}\p{M}]$/",$message); ale nefungovalo. Stiahol som si jeden program na reg.vyrazy a tam som si pre unicode spravil toto: Kód: $aa = preg_match("/^[\p{L}\p{M}]\p{N}\p{P}]$/",$message); Ale taktiez to nefungovalo Potom som si na jednej web stranke vygeneroval toto: Kód: $aa = preg_match("/^[A-Za-z0-9À-ÖØ-öø-ɏ]$/",$message);
Ale niesu v tom vsetky potrebne znaky
Takze som uz zufaly. Vedel by ma niekto usmernit alebo mi poradit kde robim chybu?
Dakujem za odpovede.
|
|
Registrovaný: 16.05.07 Prihlásený: 01.08.17 Príspevky: 837 Témy: 6 | 6 |
opis tvojho riesenia
ja samozvany vladca php30 hladam taky vyraz vo vyraze ľščťžýá ze bude
^ zacinat
[ ] bude obsahovat jeden znak
$ a bude koncit
a just ti nikdy nemoze dat true ked hladas 1 znakovy retazec vo viacznakovom to sa proste neda musis porovnavat len rovnako dlhe retazce iba zeby si hladas nejaky subretazec a nato nepouzivaj ^ a $ ale len jedno z nich abo potom pouzi jeden z multiplexovych kvatifikatorov Kód: /^[\p{L}\P{M}]*$/
|
|
Registrovaný: 26.11.06 Prihlásený: 22.01.24 Príspevky: 4118 Témy: 319 | 319 Bydlisko: HE/BA |
Potrebujem nahradiť všetky čísla v reťazci, skúšal som hľadať na gugli aj v tejto téme ale nič mi nešlo. Mal som Kód: preg_replace('/[^a-z]/i', '', $string); ale to mi zmazalo aj diakritiku.
Ďakujem.
//Heh, riešenie: /(\d*)/
|
|
Registrovaný: 26.11.06 Prihlásený: 22.01.24 Príspevky: 4118 Témy: 319 | 319 Bydlisko: HE/BA |
Zdravím, mám výraz Kód: /([[:space:]]*)([\W][^\s]?)([[:space:]]*)/is ten má nájsť všetky nealfanumerické znaky okolo ktorých sú nejaké medzery. Potrebujem ale nájsť len tie, ktoré nie sú v úvodzovkách alebo apostrofoch. Ako na to?
|
|
Registrovaný: 26.12.06 Prihlásený: 16.11.19 Príspevky: 3971 Témy: 181 | 181 Bydlisko: Nitra / Bra... |
prosím vás,
potrebujem regularny vyraz, ktory bdue robit nasledovne.
zhoda ak je to hocijaky text, okrem toho ak je to iba slovo tajne (priklad)
zhody:
Citácia: nejaky-text text-a-tajne-slovo ahoj nejaky-dlhy-text_s-cislom-5
nezhody:
Kód: tajne
skusal som uz vseliake kombinacie, a nic z toho
ako to treba spravit? dakujem
_________________ Sorry za prelkepy |
|
Registrovaný: 11.08.07 Príspevky: 4088 Témy: 34 | 34 Bydlisko: Brno |
To nemozes proste spravit $text != 'tajne'?
|
|
Registrovaný: 26.12.06 Prihlásený: 16.11.19 Príspevky: 3971 Témy: 181 | 181 Bydlisko: Nitra / Bra... |
nie, potrebujem to v regularke. mam spravenu metodu, kde si mozem menit nejake pravidla, nieco podobne ako su riesene v codeiginiteri cesty (routes).
ale teraz si mi vlastne vnukol myslienku, ze ked tam pridam este jedno pravidlo navyse, tak nemusim mat taky zlozity vyraz neviem preco som sa to zlozito snazil riesit.. takze kazdopadne dakujem, je to vyriesene
_________________ Sorry za prelkepy |
|
Registrovaný: 05.09.09 Príspevky: 1141 Témy: 127 | 127 Bydlisko: Lehota pod ... |
emer:
mohol by si to sem nalepiť? Chcel by som to vidieť...
|
|
Registrovaný: 26.12.06 Prihlásený: 16.11.19 Príspevky: 3971 Témy: 181 | 181 Bydlisko: Nitra / Bra... |
čo presne?
_________________ Sorry za prelkepy |
|
Registrovaný: 05.09.09 Príspevky: 1141 Témy: 127 | 127 Bydlisko: Lehota pod ... |
emer:
Výraz k tomu tvojmu tajnému slovu... Či si to nakoniec riešil úplne inak (ako to tak čítam znovu)? Tiež som rozmýšĺal nad tým čo napísal Ďuri, prečo to nenapíšeš 8text != "tajne". Tak som chcel vidieť to tvoje riešenie, či si tam použil nejaké podmienené výrazy či čo už...
|
|
Registrovaný: 26.11.06 Prihlásený: 22.01.24 Príspevky: 4118 Témy: 319 | 319 Bydlisko: HE/BA |
Flety píše: Zdravím, mám výraz Kód: /([[:space:]]*)([\W][^\s]?)([[:space:]]*)/is ten má nájsť všetky nealfanumerické znaky okolo ktorých sú nejaké medzery. Potrebujem ale nájsť len tie, ktoré nie sú v úvodzovkách alebo apostrofoch. Ako na to? Chlapi, keď už tu je takáto aktivita, prosím pomôžte mi, je to dosť dôležité a stále som to nevyriešil.
|
|
Registrovaný: 26.12.06 Prihlásený: 16.11.19 Príspevky: 3971 Témy: 181 | 181 Bydlisko: Nitra / Bra... |
nie, ja mozem mat lubovolny pocet pravidiel, a pridal som jedno pravidlo navyse.. lebo funguje to tak, ze ked sa na to hodi jedno pravidlo, tak uz dalsie neaplikuje. takze pri spravnom poradi to funguje dobre
takze som dal pravidla
Kód: 'tajne' => 'vysledok', '([a-z0-9_-]+)' => 'iny vysledok'
_________________ Sorry za prelkepy |
|
Registrovaný: 05.09.09 Príspevky: 1141 Témy: 127 | 127 Bydlisko: Lehota pod ... |
emer:
no OK snáď rozumiem..
flety:
Reguláry predsa poznajú aj logické or tj. |
Keď tam dáš proste "|' tak to nefunguje???
EDIT: flety:
Ale ako vidím ty chceš tie ktoré niesú v úvodzovkách...
No a negácia [^'"] nefunguje???
EDIT:
Ahá rozumiem... len neviem ci viem ako na to...
Ale co tak [[:space:]]*[^'"a-zA-Z0-9][^\w\d]+[^'"a-zA-Z0-9][[:space:]]*
|
|
Registrovaný: 26.12.06 Prihlásený: 16.11.19 Príspevky: 3971 Témy: 181 | 181 Bydlisko: Nitra / Bra... |
podla man to nepojde len tak jednym regularnym vyrazom, program len tak nedokaze roznat ci sa nachadza v uvodzovkach alebo mimo nich...
"cislo 4" a ine cislo 5 "mozno cislo 3"
vybere ti 4,5 alebo 3?
imho to bude treba rozdelit podla tych uvodzoviek a viac krat pustit regualrku.
samozrejme len rozmyslam, nejak moc sa do regulariek nevyznam, takze tak
_________________ Sorry za prelkepy |
|
Registrovaný: 11.08.07 Príspevky: 4088 Témy: 34 | 34 Bydlisko: Brno |
emer píše: podla man to nepojde len tak jednym regularnym vyrazom, program len tak nedokaze roznat ci sa nachadza v uvodzovkach alebo mimo nich... Preco by nie? Napriklad nasledovne:
Kód: $matches = array(); preg_match_all('/(\'|")(\d+?)\1/', '"2" \'1\' 666 \'1233\' "495" \'44\' \'foo\' "bar" \'3\'', $matches); var_export($matches[2]); Vrati vsetky najdene cisla v uvodzovkach alebo apostrofoch. Vysledok: Kód: array ( 0 => '2', 1 => '1', 2 => '1233', 3 => '495', 4 => '44', 5 => '3', ) Takze snad by nemal byt problem si k tomu dorobit, co potrebujes. Ja som velmi Fletyho nepochopil, takze neviem, co chce. Najlepsie bude, ked rovno napisete priklad, z akeho textu a aky vysledok by mal regexp vratit.
|
|
Registrovaný: 26.11.06 Prihlásený: 22.01.24 Príspevky: 4118 Témy: 319 | 319 Bydlisko: HE/BA |
Napríklad text: Kód: + , * " a, b - c" = tralala; bum" by sa mal prepísať na: Kód: +,*" a, b - c"=tralala;bum"
|
|
Registrovaný: 26.12.06 Prihlásený: 16.11.19 Príspevky: 3971 Témy: 181 | 181 Bydlisko: Nitra / Bra... |
Ďuri píše: ...
no dobre ale on to mysli inak, nie ze cislo je v ovodzovkach typu "1" ale "text a 1".. a potom sa v tom strati aj clovek, kde este program. pozri si moj priklad
_________________ Sorry za prelkepy |
|
Registrovaný: 05.09.09 Príspevky: 1141 Témy: 127 | 127 Bydlisko: Lehota pod ... |
Už tú emerovu pripomienku chápem presne...
Ja teda tiež neviem ako by sa to dalo urobiť na jeden krát.
Mne sa to podarilo urobiť na štyri:
1. Najprv vyhľadám výrazy v úvodzovkách a uložím ich do pola matches pomocou preg_match_all().
2. Nahradím tie výrazy špecifickou značkou XXX
3. Urobí sa náhrada o ktorej sme sa tu bavili. Teraz už tie úvodzovky nevadia...
4. Vrátia sa výrazy, ktoré sú uložené v poli matches na miesto
Kód: <?php $text = ' + , * " a, b - c" = tralala; bum"m + m"n + n" \' aha \' koniec\''; echo "text:<br>".$text."<br>";
$patern = '/(\'[^\']*\')|("[^"]*")/i';
preg_match_all($patern, $text, $matches); $text = preg_replace($patern, "XXX", $text); echo "$text<br>";
$patern2 = '/[[:space:]]*([^\w\d])[[:space:]]*/i'; $text = preg_replace($patern2, '$1', $text); echo "$text<br>";
$patern3 = '/XXX/'; foreach($matches[0] as $match){ $text = preg_replace($patern3, $match, $text, 1); } echo "výsledok:$text";
?>
Dúfam, že tam nerobím nejakú chybu... Bolo to o nervy a teraz sa idem z toho liečiť...
|
|
Registrovaný: 05.09.09 Príspevky: 1141 Témy: 127 | 127 Bydlisko: Lehota pod ... |
flety:
skoro sa mi to podarilo napísať jedným výrazom, ale robia tam problém úvodzovky v druhom subvýraze. Musia tam byť a zároveň robia problém, že sa vyčleňujú spomedzi znakov ktoré majú byť nahradené...
Kód: $patern = '/([[:space:]]*([^\w\d"\'])[[:space:]]*)|([\w\d])*(\'[^\']*\')|("[^"]*")/'; $text = preg_replace($paternNew, '$2$3$4$5', $text);
Možno by to šlo nejako cez podmienené výrazy, ale to neviem použiť...
|
|
Stránka: 1 z 1
| [ Príspevkov: 26 ] | |
Podobné témy | Témy | Odpovede | Zobrazenia | Posledný príspevok |
---|
| v Ostatné | 0 | 729 | 11.02.2006 14:59 JanoF | | v PHP, ASP | 3 | 534 | 06.12.2009 14:41 Ďuri | | v PHP, ASP | 3 | 393 | 30.01.2009 16:57 mybirthday1403 | | v Assembler, C, C++, Pascal, Java | 0 | 778 | 26.03.2011 11:21 Shwollo | | v Operačné systémy Unix a Linux | 8 | 1060 | 16.11.2010 1:48 karco | | v PHP, ASP | 1 | 452 | 21.10.2007 22:50 Codik | | v PHP, ASP | 7 | 921 | 22.10.2007 20:39 juho | | v Perl, Python, Ruby, CGI | 0 | 2482 | 21.10.2007 22:41 quark | | v PHP, ASP | 2 | 237 | 29.12.2012 15:33 Ando | | v PHP, ASP | 3 | 360 | 10.04.2012 21:44 1daemon1 | | v PHP, ASP | 2 | 454 | 18.10.2007 19:33 Bananslovak | | v PHP, ASP | 8 | 1094 | 18.07.2009 16:30 Ďuri | | v PHP, ASP | 1 | 476 | 01.10.2007 11:36 mokus | | v Assembler, C, C++, Pascal, Java | 1 | 779 | 08.01.2009 17:17 neutronmind |
|