Twoje PC  
Zarejestruj się na Twoje PC
TwojePC.pl | PC | Komputery, nowe technologie, recenzje, testy
B O A R D
   » Board
 » Zadaj pytanie
 » Archiwum
 » Szukaj
 » Stylizacja

 
M E N U
  0
 » Nowości
0
 » Archiwum
0
 » Recenzje / Testy
0
 » Board
0
 » Rejestracja
0
0
 
Szukaj @ TwojePC
 

w Newsach i na Boardzie
 
OBECNI NA TPC
 
 » Flo 18:11
 » wrrr 18:11
 » KHot 18:03
 » bajbusek 18:00
 » Ad@mus 18:00
 » Kenny 17:58
 » Holyboy 17:57
 » Artaa 17:57
 » Promilus 17:57
 » Venom79 17:56
 » ReMoS 17:53
 » DJopek 17:49
 » Matti 17:41
 » piszczyk 17:39
 » Liu CAs 17:35
 » Janusz 17:34
 » Soulfly 17:30
 » etranger 17:26
 » hokr 17:26
 » past 17:24

 Dzisiaj przeczytano
 53174 postów,
 wczoraj 82584

 Szybkie ładowanie
 jest:
włączone.

 
ccc
TwojePC.pl © 2001 - 2026
A R C H I W A L N A   W I A D O M O Ś Ć
    

[OT] Zna się ktoś na wyrażeniach regularnych? , pjfox 12/10/04 22:40
bo ja jeszcze nie, a myślę że to najlepszy sposób żeby wykonać zadanie które właśnie dostałem - mam pomysł wykonać to skryptem - bo ręcznie to się za..... jechać można..

from zxzc_jrnl_cxc jrnl, zxzc_adjs_cxc adjs, zxzc_item_cxc item, itd itd itd

z takiego czegoś muszę znaleźć i zapisać osobno nazwy, przy czym nazwą szukaną jest 'zxzc_jrnl_cxc' oraz 'zxzc_adjs_cxc' - itd.

czyli potrzebuję poszukać nazw z '_' otoczonych dookoła spacjami, ale nie cudzysłowami (to warunek dodatkowy)

jak to zrobić ? zna się ktoś na wyr. regularnych?

taaaaaaaaaaaaaaaaaaaaaaaaaaaaa

  1. Spoko ;) , pachura 12/10/04 22:55
    Przykładowy kod w PHP:

    // twój tekst
    $text = 'from zxzc_jrnl_cxc jrnl, zxzc_adjs_cxc adjs, zxzc_item_cxc item, itd itd itd';

    // wyszukaj wyrażeń regularnych w $text i umieść je w $wynik
    preg_match_all('/ ([a-z]+_[a-z]+_[a-z]+) /i', $text, $wynik);

    // wypisz wszystkie "nazwy" w kolejnych liniach,
    // czyli wystąpienia pierwszego wzorca objętego nawiasami
    foreach ($wynik[1] as $nazwa)
    echo("$nazwa\r\n");



    Opis wyrażenia / ([a-z]+_[a-z]+_[a-z]+) /i

    - wyrażenia zaczyna się i kończy slashem /
    - za końcowym slashem modyfikator i = case insensitive = ignoruj wielkość liter;
    - [a-z]+ oznacza "jedno- lub więcejelementowy ciąg składających się z liter od a do z";
    - nawiasy określają co jest właściwym wzorcem, który trafi do $wynik[1];
    - na zewnątrz nawiasów są spacje - żeby odrzucić te nazwy które są otoczone cudzysłowami.


    Tekst możesz wciągnąć z pliku poleceniem:
    $text = implode("\n", file('plik.txt'));

    1. a nie PHPem? , pjfox 12/10/04 23:07
      tylko jakimś vbs? js?
      próbuję sama na razie... w razie kłopotów napiszę coś rano ((-: bo do rana mam to zrobić

      taaaaaaaaaaaaaaaaaaaaaaaaaaaaa

  2. kompletnie , Auror 12/10/04 22:58
    nic nie zrozumiałem :-| o co "kaman"?

    portnicki.com
    +++++++++++++
    portnicki@gmail.com

  3. skoro juz jestesmy przy wyrazeniach regularnych. , KwiateK 12/10/04 23:23
    zalozmy ze mamy tekst ktory w zawartosci ma adresy stron. jakbyscie napisali funkcje, ktora zamieni adresy stron na linki (tzn. razem z <a href="....costamsostam).
    ------
    dla przykladu:

    $tekst="Zapraszam na http://www.twojepc.pl"

    ma zamieniac na

    $tekst="Zapraszam na <a href="http://www.twojepc.pl">http://www.twoje...

    Nie jestem facetem na jedną noc.
    Aż tyle czasu to ja nie mam...

    1. Całkiem proste wyrażenie regularne. , Kenjiro 13/10/04 15:58
      Czyli teoretycznie (bez użycia żadnego z języków programowania):
      s#(http://[a-zA-Z0-9][a-zA-Z0-9_/\.-]+)#<a href="\1">\1</a>#
      ew. w przypadku niektórych języków może być konieczność użycia $1 zamiast \1. Oczywiście nie jest to może najlepszy przykład, ale ujdzie ;).

      pozdrówka
      Kenjiro

    
All rights reserved ® Copyright and Design 2001-2026, TwojePC.PL