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
 
 » metacom 01:21
 » Martens 01:17
 » BoloX 01:16
 » Dzban 01:02
 » Qjanusz 00:53
 » Irys 00:51
 » ulan 00:41
 » RaPToRR 00:22
 » zibi13 00:10
 » esteban 23:52
 » alkatraz 23:48
 » Menah 23:36
 » luckyluc 23:27
 » Wolf 23:25
 » selves 23:24
 » wrrr 23:24
 » fiskomp 23:14
 » Visar 23:10
 » Magnus 23:07
 » luzak2363 23:05

 Dzisiaj przeczytano
 36889 postów,
 wczoraj 25433

 Szybkie ładowanie
 jest:
włączone.

 
ccc
TwojePC.pl © 2001 - 2025
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-2025, TwojePC.PL