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

    Errore di escape nella definizione di una variabile String

    Salve a tutti,
    codice:
    String regExp = "^(http|https)\://[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3}(:[a-zA-Z0-9]*)?/?([a-zA-Z0-9\-\._\?\,\'/\\\+&%\$#\=~])*$";
    questo codice mi da errore "Invalid escape sequence" al primo "\" prima dei due punti.

    Come posso risolvere per poter utilizzare questa espressione regolare?

    Grazie

  2. #2
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    ricordando che il back-slash ha a sua volta necessità di escape

    codice:
    \\:
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  3. #3
    Ottengo lo stesso errore più avanti. Se aggiungo il backslash ovunque non si inficia l'espressione regolare, giusto?

  4. #4
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    bisogna aggiungere il back-slash dove serve. Se la guida sulle RegEx non ti ha convinto (nella API è dedicato, stranamente, ampio spazio all'utilizzo delle classi coinvolte), scrivi il pattern (anche su carta, se serve) che vorresti inizializzare e poi "traducilo" in String modo che con un

    codice:
    String patternString = "...";
    System.out.println(patternString);
    si ottenga la stessa scrittura.
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  5. #5
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Basta guardare la documentazione di Pattern ... che elenca tutti i costrutti!!
    ":" "_" e "," non sono caratteri speciali, quindi non serve mettere nella regex es. \: e poi nella stringa \\:
    Mentre "." "?" "$" e "+" sono caratteri speciali ma non quando sono dentro una "classe" di caratteri [ ]
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

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.