Autore Topic: [RISOLTO]regexp in gambas questo sconosciuto  (Letto 786 volte)

Offline faustf

  • Gambero
  • **
  • Post: 87
    • Mostra profilo
[RISOLTO]regexp in gambas questo sconosciuto
« il: 06 Gennaio 2018, 17:38:42 »
Ciao a tutti stavo guardando come fre le regexp in gambas , ma devo dire che dall esempio wiki non cio capito un granche 
cè qualcuno che mi può fare un esempio semplice 
partendo dal fatto che ho dentro una variablie  un testo   e voglo prendere  alcune parti di esso ??
grazie a tutti
va benissimo anche se mi dae dei link in italiano magari dove cè spiegato 
grazie ancora
 :) :) :)
« Ultima modifica: 07 Gennaio 2018, 12:57:44 da faustf »

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.158
  • Tonno verde
    • Mostra profilo
Re:regexp in gambas questo sconosciuto
« Risposta #1 il: 06 Gennaio 2018, 18:30:05 »
Non capisco cosa vuoi sapere esattamente, se digiti espressioni regolari in google ottieni un sacco di informazioni e poi per usarle con Gambas puoi farlo con Like  :-\

P.S. Sarebbe bene che tu rispondessi anche alle domande che vengono fatte a te e non solo aspettare delle risposte e basta.
« Ultima modifica: 06 Gennaio 2018, 18:31:48 da Gianluigi »
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline faustf

  • Gambero
  • **
  • Post: 87
    • Mostra profilo
Re:regexp in gambas questo sconosciuto
« Risposta #2 il: 06 Gennaio 2018, 18:47:41 »
ciao  intanto scusami se non avevo risposto , è solo che   non  avevo refresshato la pagina probabilmente e non avevo visto le risposte , di solito non sono cosi marrano :D
cosè un espressione regolare  lo so + o -  quello che mi serviva di sapere è  come s  fa  in gambas
esempio io ho una variabile  con dentro   ciao  super clifragi listi 192.168.1.19 bla bla   vorrei    cercare dentro  e ritornare l indirizzo  e  ciao super
come è possibile farlo ???
grazie

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.158
  • Tonno verde
    • Mostra profilo
Re:regexp in gambas questo sconosciuto
« Risposta #3 il: 06 Gennaio 2018, 19:45:04 »
Mi riferivo non alla mia domanda ma ... ho visto che hai inteso.

Riguardo Like eccone un suo possibile uso:
Codice: [Seleziona]
Public Sub Main()

  Dim s As String = "Scrivo una frase qualunque all'interno della quale devo trovare un riscontro"
  Dim ss As String[]
 
  ss = Split(s, " ")
  For Each s In ss
    If s Like "qual*" Then Print s
  Next

End

Però dovresti essere un tantino più intraprendente perchè di esempi nel forum e dintorni ve ne sono a iosa
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline faustf

  • Gambero
  • **
  • Post: 87
    • Mostra profilo
Re:regexp in gambas questo sconosciuto
« Risposta #4 il: 06 Gennaio 2018, 19:57:29 »
grazie infinite per l esempio , pensa che  avevo visto like e  creedevo ritornasse solo il true o il false , pensa some sono messo :D
grazie ancora  ora provo a capirci qualcosa e poi magari mi rifaccio vivo  :)
thankz
 

Offline faustf

  • Gambero
  • **
  • Post: 87
    • Mostra profilo
Re:regexp in gambas questo sconosciuto
« Risposta #5 il: 06 Gennaio 2018, 20:14:59 »
cioè paticamente  al like  gli do in pasto la regular expression che nel tuo caso è "qual*"   ???  ho capito bene ??
 

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.158
  • Tonno verde
    • Mostra profilo
Re:regexp in gambas questo sconosciuto
« Risposta #6 il: 06 Gennaio 2018, 20:18:42 »
grazie infinite per l esempio , pensa che  avevo visto like e  creedevo ritornasse solo il true o il false , pensa some sono messo :D

Infatti,  restituisce proprio True se trova riscontro nell'espressione e viceversa, di seguito il codice precedente commentato:
Codice: [Seleziona]
Public Sub Main()
  ' Passo alla variabile s una stringa mentre la presento a Gambas.
  Dim s As String = "Scrivo una frase qualunque all'interno della quale devo trovare un riscontro"
  Dim ss As String[] ' vettore dinamico di tipo stringa che userò per incamerare i valori dati da Split
 
  ss = Split(s, " ") ' Separo la stringa in tante stringhe usando come separatore lo spazio fra una parola e l'altra.
  For Each s In ss ' Ciclo le parole una alla volta confrontandole con l'espressione qual* che significa "qual" seguito
                   ' da un qualunque numero si caratteri (anche nessuno).
    If s Like "qual*" Then Print s ' Se Like trova riscontro (true) stampo la parola in s che in quanto "variabile" assume il valore di una parola (alla volta).
  Next

End
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.158
  • Tonno verde
    • Mostra profilo
Re:regexp in gambas questo sconosciuto
« Risposta #7 il: 06 Gennaio 2018, 20:30:05 »
cioè paticamente  al like  gli do in pasto la regular expression che nel tuo caso è "qual*"   ???  ho capito bene ??

Non propriamente, per le espressioni regolari complesse c'è il componente gb.pcre clicca su RegExp ecc. e studia  ;D
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline faustf

  • Gambero
  • **
  • Post: 87
    • Mostra profilo
Re:regexp in gambas questo sconosciuto
« Risposta #8 il: 06 Gennaio 2018, 21:52:11 »
infatti mi ero inbattuto in quello ,  e infatti  un c  capivo nulla nell esempio , devo  dire  che gambas la fa davvero complicata la regexp rispetto a  autoit (quello che uso di solito su windows ) ma  anche al perl ,  infatti se hai degli esempi , anche link a degli esempi dell uso del componente gb.pcre RegExp
te ne sarò infinitamente grato , io non sono ruscito a trovare  solo quello del manuale  e cio capito pooo
:D

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.158
  • Tonno verde
    • Mostra profilo
Re:regexp in gambas questo sconosciuto
« Risposta #9 il: 06 Gennaio 2018, 23:32:34 »
Guarda che per lo studio della programmazione ci vuole molta pazienza e la costanza di provare e riprovare perché solo sbagliando si impara.
Comunque gli esempi della guida sono validi ce n'è uno semplice ed uno complesso giusto per instradarci.

Il primo, quello semplice, va scritto così:

Codice: [Seleziona]
Public Sub Main()

  Dim re As Regexp
 
  re = New Regexp("La veloce volpe bruna salta oltre il cane pigro", "bruna (\\S+)")
  Print "L'espressione regolare zero da come risultato: "; re[0].Text
  Print "L'espressione regolare uno da come risultato: "; re[1].Text

End

Mentre l'altro:

Codice: [Seleziona]
Public Sub Main()

  Dim sDiskIO, sVal As String
  Dim cVal As New Collection
  Dim rMatch As New RegExp

  ' get disk I/O stats
  Exec ["vmstat", "-D"] To sDiskIO
  For Each sVal In ["total reads", "read sectors", "writes", "written sectors"]
    rMatch.Compile("^\\s*(\\d+)\\s+" & sVal, RegExp.MultiLine)
    rMatch.Exec(sDiskIO)
    If rMatch.Count = 1 Then
      cVal[Replace(sVal, " ", "_")] = rMatch[1].Text
    Else
      Error.Raise("Missing '" & sVal & "' in 'vmstat -D' output")
    Endif
  Next
  Print "total reads: " & cVal!total_reads & " read sectors:" & cVal!read_sectors
  Print "writes: " & cVal!writes & " written sectors: " & cVal!written_sectors

End

Ma è tardissimo, corro a dormire...
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline faustf

  • Gambero
  • **
  • Post: 87
    • Mostra profilo
Re:regexp in gambas questo sconosciuto
« Risposta #10 il: 07 Gennaio 2018, 00:02:14 »
grazie ancora farò tesoro delle tue parole :)
per l esempio difficile que sVal  ma da dove lo trova????
grazie  ancora ciao e  bona notte

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.305
  • Ne mors quidem nos iunget
    • Mostra profilo
Re:regexp in gambas questo sconosciuto
« Risposta #11 il: 07 Gennaio 2018, 00:28:43 »
sVal  ma da dove lo trova????

Cosa intendi dire più precisamente ?
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.158
  • Tonno verde
    • Mostra profilo
Re:regexp in gambas questo sconosciuto
« Risposta #12 il: 07 Gennaio 2018, 09:23:52 »
Cosa intendi dire più precisamente ?

Dire che condivido la domanda di vuott o per meglio dire la perplessità è dire poco.
Ma che razza di domanda è? Ti ho appena esortato a studiare e provare e tu esci con questa domanda sciocca?

Guarda che qui siamo all'ABC di Gambas, ognuno è padrone di studiare un linguaggio partendo da dove crede opportuno e se uno è particolarmente ferrato nelle espressioni regolari... certo è che non hai scelto un argomento facile.

A parte che ti ho già mostrato prima come funziona un ciclo FOR EACH perché non provi a cambiarlo così e cerchi di imparare e soprattutto capire le basi di Gambas?

Codice: [Seleziona]
Public Sub Main()
 
  Dim sVal As String
 
  For Each sVal In ["Paperino", "Qui", "Quo", "Qua"]
    Print sVal
  Next
 
End
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline faustf

  • Gambero
  • **
  • Post: 87
    • Mostra profilo
Re:regexp in gambas questo sconosciuto
« Risposta #13 il: 07 Gennaio 2018, 12:57:19 »
scusatemi ancora non volevo certo farvi innervosire , grazie  del supporto , studiero l esempio
grazie  ancora
ciao

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.158
  • Tonno verde
    • Mostra profilo
Re:[RISOLTO]regexp in gambas questo sconosciuto
« Risposta #14 il: 07 Gennaio 2018, 13:18:57 »
Guarda non credo che vuott si sia innervosito e neanche io, si tratta semplicemente di una simbolica tirata di orecchie che ti vuole invitare a ponderare bene quello che chiedi.
Ribadisco che la cosa ti era stata appena spiegata solo che tu non hai prestato orecchio, appunto.
Ringrazi ma poi non leggi con attenzione, tranquillo a volte succede anche ai migliori e occorre pagarne dazio  ;D

Comunque quando non si capisce è giusto chiedere, solo che prima occorre cercare di arrivarci da soli... tutto qui.
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro