English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Costruzione dell'espressione regolare "[^ ...]" in Java

Espressione secondaria/carattere speciale " [^ ...] Corrisponde a qualsiasi singolo carattere, non a parentesi.

Esempio 1

import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class SpecifiedCharacters {
   public static void main(String args[]) {
      String regex = "[^hwtyoupi]";
      String input = "Hi how are you welcome to w3codebox";
      Pattern p = Pattern.compile(regex);
      Matcher m = p.matcher(input);
      int count = 0;
      while(m.find()) {
         count++;
      }
      System.out.println("Numero di corrispondenze: "+count);
   }
}

Risultato di output

Numero di corrispondenze: 21

Esempio 2

Il seguente programma Java accetta 5 stringhe dall'utente e stampa le stringhe/parole che non contengono lettere inglesi.

import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class RegexExample {
   public static void main(String args[]) {
      String regex = "^.*[^a-zA-Z].*$";
      Scanner sc = new Scanner(System.in);
      System.out.println("Inserisci 5 stringhe di input: ");
      String input[] = new String[5];
      for(int i = 0; i < 5; i++) {
         input[i] = sc.nextLine();
      }
      // Creare un oggetto Pattern
      Pattern p = Pattern.compile(regex);
      System.out.println("stringhe che non contengono l'alfabeto inglese: ");
      for(int i = 0; i < 5; i++) {
         // Creare un oggetto Matcher
         Matcher m = p.matcher(input[i]);
         if(m.find()) {
            System.out.println(m.group());
         }
      }
   }
}

Risultato di output

Inserisci 5 stringhe di input:
1234*5
&*%
sample
test
data23
stringhe che non contengono l'alfabeto inglese:
1234*5
&*%