Skocz do zawartości

Witamy w Nieoficjalnym polskim support'cie AMX Mod X

Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Zdjęcie

Wyrażenie regularne - jak skonstruować?


Najlepsza odpowiedź Ogen Dogen, 29.05.2017 21:14

Regex nie nadaje się do HTML'a, może co najwyżej do nieskomplikowanych, statycznych stron. Polecam wątek - https://stackoverflo...-contained-tags

Jeżeli już tak bardzo się uparłeś to spróbuj takiego wzorca: (1 grupa to wartość, której szukasz)

>(.*)<\/span>
Przejdź do postu


  • Nie możesz napisać tematu
  • Zaloguj się, aby dodać odpowiedź
8 odpowiedzi w tym temacie

#1 Rivit

    Godlike

  • Support Team

Reputacja: 1 319
Godlike

  • Postów:4 380
Offline

Napisano 28.05.2017 10:36

Witam.

Na wstępie zaznaczę, że mam zerowe doświadczenie w dziedzinie wyrażeń regularnych. Chcę się tego nauczyć. Jednak program wymaga ode mnie zastosowania regexa

 

 

Jak zbudować wyrażenie, które wyciągnie mi tekst ze środka. Już pokazuje

>Wtorek</span>
>T/s</span>
>pn k</span>

Nie wiem w ogóle jak się do tego zabrać.

Trzeba mi tylko wzorzec :/

Dziękuję.

 

 


  • +
  • -
  • 0

#2 Ogen Dogen

    Czempion

  • Power User

Reputacja: 261
Wszechwidzący

  • Postów:837
  • GG:
  • Steam:steam
  • Imię:Marcin
  • Lokalizacja:Dąbrowa Górnicza
Offline

Napisano 28.05.2017 11:02

Domyślam się, że chcesz parsować HTML'a ? Jeśli tak to regex nie jest najlepszym wyborem, są gotowe biblioteki do parsowania HTML'a. Parser XML też powinien się nadać.

Napisz jaki język to postaram się coś doradzić, bo wnioskuje że pisząc w tym dziale nie chodzi o plugin AMXX ?


  • +
  • -
  • 0

b_350_20_360204_C20008_FFFFFF_000000.png 193.33.176.115:27015

 

94e23d811c.png

 


#3 Rivit

    Godlike

  • Autor tematu
  • Support Team

Reputacja: 1 319
Godlike

  • Postów:4 380
Offline

Napisano 28.05.2017 16:08

C++

Tak to HTML. Nie da się regexem złapać?
  • +
  • -
  • 0

#4 plx211

    Wszechpomocny

  • Użytkownik

Reputacja: 231
Wszechwidzący

  • Postów:397
  • Lokalizacja:Polska
Offline

Napisano 28.05.2017 21:58

da sie, ale lepiej tutaj sie sprawdzi parser HTML :)


  • +
  • -
  • 0

#5 Rivit

    Godlike

  • Autor tematu
  • Support Team

Reputacja: 1 319
Godlike

  • Postów:4 380
Offline

Napisano 29.05.2017 04:41

Jak to się takie cuda robi? :o
  • +
  • -
  • 0

#6 Rivit

    Godlike

  • Autor tematu
  • Support Team

Reputacja: 1 319
Godlike

  • Postów:4 380
Offline

Napisano 29.05.2017 15:17

Trochę pogrzebałem. Dajmy na to mam przykładowy tekst:

<tbody>

        <tr style="mso-yfti-irow:0;mso-yfti-firstrow:yes">

            <td rowspan="2" style="width:23.45pt;border:solid windowtext 1.5pt;

            padding:0cm 0cm 0cm 0cm" valign="top" width="39">

            <p class="MsoNormal" style="mso-margin-top-alt:auto;margin-bottom:

            0cm;margin-bottom:.0001pt;text-align:center;line-height:normal" align="center"><b><span style="font-size:9.0pt;font-family:&quot;Times New Roman&quot;,&quot;serif&quot;;mso-fareast-font-family:

            &quot;Times New Roman&quot;;mso-fareast-language:PL">Lekcja</span></b></p>

Do tego regex:

[>](.*)[<\/span>]

I to łapie mi to:

><b><span style="font-size:9.0pt;font-family:&quot;Times New Roman&quot;,&quot;serif&quot;;mso-fareast-font-f

i

>Lek</span></b></p>

Jak go poprawić, żeby łapał poprawnie :/

 

Testuje sobie na tej stronce: https://regex101.com/

 

 

Co do parsera. Spoko, ale ja najpierw chce regexem, bo tak :D :D


  • +
  • -
  • 0

#7 Ogen Dogen

    Czempion

  • Power User

Reputacja: 261
Wszechwidzący

  • Postów:837
  • GG:
  • Steam:steam
  • Imię:Marcin
  • Lokalizacja:Dąbrowa Górnicza
Offline

Napisano 29.05.2017 21:14   Najlepsza odpowiedź

Regex nie nadaje się do HTML'a, może co najwyżej do nieskomplikowanych, statycznych stron. Polecam wątek - https://stackoverflo...-contained-tags

Jeżeli już tak bardzo się uparłeś to spróbuj takiego wzorca: (1 grupa to wartość, której szukasz)

>(.*)<\/span>

  • +
  • -
  • 1

b_350_20_360204_C20008_FFFFFF_000000.png 193.33.176.115:27015

 

94e23d811c.png

 


#8 Rivit

    Godlike

  • Autor tematu
  • Support Team

Reputacja: 1 319
Godlike

  • Postów:4 380
Offline

Napisano 30.05.2017 06:17

To statyczna strona. Sprawdzę i dam znać ;)

 

 

Wątek jak najbardziej spoko. Wyrażenie regularne:

>(.*)<\/span>

Daje takie efekty:

>D</span>
>B</span>
>Sił/t</span>
>MS</span>
>B</span>
>Ts/s</span>
>D</span>
>B</span>

 

 

Jak pozbyć się tego żeby zostało tylko to co wewnątrz?


  • +
  • -
  • 0

#9 Ogen Dogen

    Czempion

  • Power User

Reputacja: 261
Wszechwidzący

  • Postów:837
  • GG:
  • Steam:steam
  • Imię:Marcin
  • Lokalizacja:Dąbrowa Górnicza
Offline

Napisano 30.05.2017 17:41


Jak pozbyć się tego żeby zostało tylko to co wewnątrz?

 


(1 grupa to wartość, której szukasz)

  • +
  • -
  • 1

b_350_20_360204_C20008_FFFFFF_000000.png 193.33.176.115:27015

 

94e23d811c.png

 





Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych