Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2001
    Messaggi
    3,259

    regexp con condizione 'inversa'

    la sintassi x(?=y) matcha X solo se è seguito da Y. cambiando ?= con ?! avviene il contrario (matcha x se non è seguito da y).

    Io devo fare il contrario. Matchare X se è/non è preceduto da Y...

    non mi viene in mente niente...

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Non lo avevo mai visto, ma io proverei con:
    (?=y)x
    (?!y)x
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2001
    Messaggi
    3,259
    <script>
    stringa="prova";
    re=/(?=p)r/
    alert(re.test(stringa))
    </script>


    mi sembra di no, purtroppo

  4. #4
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    /[^y]x/

    /yx/

    forse mi sfugge qualcosa...
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Hai ragione.
    http://www.perldoc.com/perl5.6.1/pod/perlre.html un po' prima di meta` pagina

    dovrebbe essere:
    re=/(?<=p)r/

    ma guardati la guida: non e` cosi` semplice da leggere.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  6. #6
    Utente di HTML.it
    Registrato dal
    Dec 2001
    Messaggi
    3,259
    con il tuo metodo, br1, matchi si X, ma anche y... e se devo fare un replace mi frega

    il metodo di mich non è riconosciuto... cioè, non muove...

    forse in Perl funzionerebbe, ma in javascript... nada : :master:

  7. #7
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    In effetti le RE sono quasi uguali in tutti i programmi.

    Comunque non mi do ancora per vinto. Prova cosi`:
    re=/\b(?=p)r/

    che pero` vale solo nel tuo esempio specifico.
    \b e` il limite di una parola (word boundary)
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  8. #8
    Utente di HTML.it
    Registrato dal
    Dec 2001
    Messaggi
    3,259
    mackey mi ha postato una regexp che fa quello che voglio

    re=/(p)r/g
    stringa=stringa.replace(re,"$1")


    prende la regexp e la replaca con il primo atomo della stessa.


    grazie a tutti, speriamo funzioni proprio come ho in mente

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.