Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    [REGEXP] Parentesi che non escludono il resto dal match

    In una stringa devo matchare tutti i segni +, i quali possono essere preceduti o seguiti da zero o più spazi:
    codice:
    stringa="a   +   b";
    
    myArr=stringa.match(/\s*(+)\s*/g);
    Con le parentesi tonde vorrei includere nei match solo il segno più, cosa che non avviene...
    Se non ci fosse il modificatore g saprei come fare, basterebbe interfacciarsi all'elemento [1] dell'array, ma qui i match possono essere più di uno perciò devo usare g.

    Che dite, sono costretto a usare un replace o c'è un altra soluzione?

  2. #2
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    + é un elemento del "linguaggio" delle regexp.

    Prova cosi

    myArr=stringa.match(/\s*([+])\s*/g);
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  3. #3
    Originariamente inviato da badaze
    + é un elemento del "linguaggio" delle regexp.

    Prova cosi

    myArr=stringa.match(/\s*([+])\s*/g);
    Il \ prima del + non l'ho copiato per fretta, cmq anche come dici tu non funziona

  4. #4
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Scusa con il tuo esempio prende il +

    Cos'è che non va ?
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  5. #5
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Ma se sono i caratteri prima o dopo che ti turbano puoi fare cosi

    stringa="a + b+6 0000+ +";

    myArr=stringa.match(/(\+)/g);
    alert(myArr);
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  6. #6
    Originariamente inviato da badaze
    Ma se sono i caratteri prima o dopo che ti turbano puoi fare cosi

    stringa="a + b+6 0000+ +";

    myArr=stringa.match(/(\+)/g);
    alert(myArr);
    Scusa, avrei dovuto specificarlo prima... Per motivi che non ti sto qui a dire devo includere gli spazi nella regexp, ma poi escluderli dal match.

  7. #7

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.