Πώς να χρησιμοποιήσετε το Regex Whitespace στην Java

Pos Na Chresimopoiesete To Regex Whitespace Sten Java



Το Regex ή Regular Expression είναι ένα σύνολο ειδικών χαρακτήρων που συνδυάζονται για να σχηματίσουν ένα μοτίβο αναζήτησης χαρακτήρων σε συμβολοσειρές. Στον προγραμματισμό υπολογιστών και τη μηχανική λογισμικού, η εκμάθηση του regex θα είναι πολύ χρήσιμη για την εύρεση πληροφοριών σε οποιοδήποτε κείμενο. Όλα τα είδη αναζήτησης κειμένου, μορφοποίησης και αντικατάστασης κειμένου μπορούν να πραγματοποιηθούν χρησιμοποιώντας κανονικές εκφράσεις.

Αυτό το σεμινάριο θα σας καθοδηγήσει σχετικά με τη χρήση του κενού χώρου regex στην Java.







Τι είναι το Regex στην Java;

Μια κανονική έκφραση ή Regex μπορεί να είναι τόσο απλή όσο ένας μεμονωμένος χαρακτήρας ή ένα σύνθετο μοτίβο. Μπορεί να δημιουργηθεί με μια σειρά από κείμενο και σύμβολα με συγκεκριμένη σειρά. Οι περισσότεροι χαρακτήρες σε ένα regex είναι γράμματα και τυπογραφικά σύμβολα. Το Regex έχει διάκριση πεζών-κεφαλαίων, οπότε να το έχετε υπόψη σας κατά τη δημιουργία και τη χρήση του.



Πώς να χρησιμοποιήσετε το Regex Whitespace στην Java;

Αν και η Java δεν έχει καμία προκαθορισμένη κλάση κανονικής έκφρασης. Ωστόσο, μπορούμε να χρησιμοποιήσουμε κανονικές εκφράσεις εισάγοντας το ' java.util.regex ' βιβλιοθήκη. Περιλαμβάνει κάποιες τάξεις όπως « Πρότυπο ', το οποίο χρησιμοποιείται για τον ορισμό ενός μοτίβου regex, και ' Αγώνες ” κλάση που χρησιμοποιείται για αναζήτηση με το μοτίβο.



Υπάρχουν δύο μέθοδοι για τη χρήση του λευκού χώρου regex στην Java ως εξής:





    • Χρησιμοποιώντας τη μέθοδο Pattern.matches() (χρησιμοποιήστε προκαθορισμένο regex)
    • Χρήση κλάσης Pattern και Match (δημιουργία regex που ορίζεται από το χρήστη για αντιστοίχιση)

Ας δούμε πώς θα λειτουργήσουν αυτές οι μέθοδοι με το regex για κενό διάστημα στην Java.

Μέθοδος 1: Χρήση προκαθορισμένου κενού χώρου Regex με τη μέθοδο Pattern.matches() στην Java

Για να βρείτε κενά σε μια συμβολοσειρά, υπάρχουν τρία κοινά regexes στην Java:



    • \μικρό : Αντιπροσωπεύει ένα ενιαίο λευκό διάστημα.
    • \s+ : Υποδεικνύει πολλά λευκά κενά.
    • \u0020 : Είναι το Unicode του λευκού διαστήματος που χρησιμοποιείται ως regex για την εύρεση κενού χώρου σε ένα κείμενο.

Μπορούμε να χρησιμοποιήσουμε αυτά τα regex στη στατική μέθοδο ' ταιριάζει () ' απο ' Πρότυπο ” τάξη. Η κλάση προτύπων ανήκει στο ' java.util.regex ” πακέτο. Παρακάτω δίνεται η σύνταξη της μεθόδου Pattern.matches():

Σύνταξη

Μοτίβο.ταιριάζουν ( '\μικρό' , '' ) ;


Η καθορισμένη μέθοδος παίρνει δύο ορίσματα: την κανονική έκφραση και τη συμβολοσειρά για να ταιριάζει. Το πρώτο όρισμα '\s' είναι η κανονική έκφραση ή regex του λευκού χώρου και το δεύτερο όρισμα '' είναι ο χώρος στη χορδή. Επιστρέφει είτε true είτε false ως boolean τιμή.

Παράδειγμα 1: Χρησιμοποιήστε το '\s' WhiteSpace Regex

Εδώ, θα χρησιμοποιήσουμε το ' \μικρό ” regex στη μέθοδο Pattern.matches(). Θα περάσουμε μια συμβολοσειρά χωρίς διάστημα στη μέθοδο ως δεύτερο όρισμα. Η μέθοδος θα ελέγξει το regex και τη συμβολοσειρά και στη συνέχεια θα επιστρέψει μια τιμή boolean που θα αποθηκευτεί στο ' αγώνας ' μεταβλητή:

boolean αγώνας = Μοτίβο.ταιριάζει ( '\μικρό' , '' ) ;


Εκτυπώστε την τιμή της μεταβλητής αντιστοίχισης χρησιμοποιώντας το ' System.out.println() 'μέθοδος:

System.out.println ( 'Ο χώρος υπάρχει:' + ταίριασμα ) ;



Η τιμή που επιστρέφεται από το ' Pattern.matches() 'η μέθοδος είναι ' ψευδής ' επειδή η συμβολοσειρά που πέρασε δεν έχει κενό:


Τώρα θα δούμε μερικά άλλα παραδείγματα για να ταιριάξουμε το κενό διάστημα με άλλα reregexe.

Παράδειγμα 2: Χρησιμοποιήστε το '\s+' WhiteSpace Regex

Σε αυτό το παράδειγμα, θα περάσουμε το ' \s+ 'regex στο' ταιριάζει () ” μέθοδος εύρεσης πολλαπλών χώρων:

boolean αγώνας = Μοτίβο.ταιριάζει ( '\s+' , '' ) ;


Εκτυπώστε την τιμή της μεταβλητής αντιστοίχισης που αποθηκεύει το επιστρεφόμενο αποτέλεσμα από τη μέθοδο:

System.out.println ( 'Ο χώρος υπάρχει:' + ταίριασμα ) ;



Καθώς το δεύτερο όρισμα περιέχει κενά, η προκύπτουσα τιμή εμφανίζεται ως ' αληθής ”:

Παράδειγμα 3: Χρησιμοποιήστε το '\u0020' WhiteSpace Regex

Εδώ, θα σας δείξουμε πώς χρησιμοποιείται το Unicode ως regex στην Java. Για τον καθορισμένο σκοπό, θα χρησιμοποιήσουμε το « \u0020 ” regex ως Unicode του λευκού χώρου:

boolean αγώνας = Μοτίβο.ταιριάζει ( '\u0020' , '' ) ;


Εκτυπώστε την επιστρεφόμενη τιμή:

System.out.println ( 'Ο χώρος υπάρχει:' + ταίριασμα ) ;



Η μέθοδος Pattern.matches() θα εκτυπώσει ' αληθής ' ως περασμένη συμβολοσειρά που περιέχει λευκά κενά:


Ας περάσουμε στην άλλη μέθοδο για τη χρήση του regex στην Java.

Μέθοδος 2: Χρησιμοποιήστε τον καθορισμένο από τον χρήστη κενό χώρο Regex με μοτίβο και τάξη αντιστοίχισης

Ο ' Πρότυπο Η κλάση ' χρησιμοποιείται για να ορίσει ή να δημιουργήσει ένα μοτίβο, ενώ το ' Αγώνες Η κλάση χρησιμοποιείται για αναζήτηση σύμφωνα με το δεδομένο μοτίβο. Το μοτίβο για ένα regex μπορεί να δημιουργηθεί με τη βοήθεια του ' συντάσσω() ” μέθοδος της κλάσης Pattern. Χρειάζεται μόνο μία παράμετρος, το μοτίβο που θέλετε να μεταγλωττίσετε για οποιονδήποτε σκοπό.

Σύνταξη

Pattern.compile ( ' \ t \p{Zs}' ) ;


ο Αγώνες η τάξη ταιριάζει με το μοτίβο χρησιμοποιώντας το ' ταιριάζει () 'μέθοδος. Χρειάζεται ένα ' σειρά ” ως το μοτίβο.

Σύνταξη

patternVariable.ταιριάζουν ( σειρά ) ;


Υπάρχουν μερικά προκαθορισμένα regex για κενά διαστήματα που συζητήσαμε παραπάνω, τα υπόλοιπα παρατίθενται παρακάτω:

    • \\t\\p{Zs}
    • \\p{Zs}

Τώρα, ας δούμε μερικά παραδείγματα.

Παράδειγμα 1: Χρησιμοποιήστε το '\\t\\p{Zs}' WhiteSpace Regex

Σε αυτό το παράδειγμα, θα μάθουμε τον αριθμό των κενών διαστημάτων μετρώντας τα. Πρώτα, θα δημιουργήσουμε μια συμβολοσειρά ' μικρό ” και εκτυπώστε το στην κονσόλα:

Χορδή s = 'WelcometoLinuxHint' ;
System.out.println ( μικρό ) ;


Στη συνέχεια, θα ορίσουμε ένα μοτίβο ' \\t\\p{Zs} ' που λειτουργεί ως regex κενού διαστήματος στην Java και ισούται με ' \μικρό '. Μετά τη σύνταξη του δεδομένου μοτίβου, η μεταβλητή ' regexPattern ' θα περιέχει την προκύπτουσα τιμή:

Pattern regexPattern = Pattern.compile ( '\ \ t \\p{Zs}' ) ;


Τηλεφώνησε στο ' ταιριάζει () 'μέθοδος και πέρασμα' μικρό Συμβολοσειρά:

Matcher stringSpaces = regexPattern.matcher ( μικρό ) ;


Δημιουργήστε μια μεταβλητή ακέραιου τύπου ' μετρώ ' και αρχικοποιήστε το με την τιμή ' 0 ”:

int count = 0 ;


Μετρήστε τον αριθμό των κενών διαστημάτων που υπάρχουν στη συμβολοσειρά χρησιμοποιώντας ένα « ενώ ' βρόχος. Ο βρόχος θα διασχίσει τη συμβολοσειρά και θα αυξήσει την τιμή της μεταβλητής count εάν συναντήσει κάποιο διάστημα:

ενώ ( stringSpaces.find ( ) ) {
count++;
}


Τέλος, εκτυπώστε την τιμή του count για να δείξετε πόσα κενά βρίσκονται σε μια συμβολοσειρά:

System.out.println ( 'Η συμβολοσειρά περιέχει' +μετρώ+ 'χώροι' ) ;


Παραγωγή



Παράδειγμα 2: Χρησιμοποιήστε το '\p{Zs}' WhiteSpace Regex

Τώρα, θα βρούμε τα κενά στη συμβολοσειρά χρησιμοποιώντας ένα άλλο μοτίβο ' \p{Zs} '. Αυτό το μοτίβο λειτουργεί παρόμοια με το ' \μικρό ' και ' \s+ ” regex:

Pattern regexPattern = Pattern.compile ( '\\p{Zs}' ) ;


Τώρα, καλούμε το ' ταιριάζει () 'μέθοδος και πέρασμα' μικρό Συμβολοσειρά ως όρισμα:

Matcher stringSpaces = regexPattern.matcher ( μικρό ) ;


Όπως στο παραπάνω παράδειγμα, χρησιμοποιούμε επίσης ένα ' ενώ ” βρόχο για να μετρήσετε τα κενά σε μια συμβολοσειρά και να τα εκτυπώσετε:



Η δεδομένη έξοδος δείχνει ότι η συμβολοσειρά μας ' Καλώς ήρθατε στο Linux Hint ” περιέχει τρία κενά:



Συγκεντρώνουμε όλες τις πιο εύκολες μεθόδους που μπορούν να σας βοηθήσουν να χρησιμοποιήσετε τον κενό χώρο regex στην Java.

συμπέρασμα

Υπάρχουν πολλές κανονικές εκφράσεις για κενά όπως ' \μικρό », « \s+ », « \u0020 », « \\t\\p{Zs} ', και ' \\p{Zs} '. Αυτά τα regexes χρησιμοποιούνται στη μέθοδο matches() της κλάσης Pattern ή ορίζοντας ένα μοτίβο με την κατηγορία Pattern και ταιριάζοντάς το χρησιμοποιώντας την κατηγορία Matcher. Ο πιο συχνά χρησιμοποιούμενος κενός χώρος regex είναι \s και \s+. Σε αυτό το σεμινάριο, καλύψαμε όλες τις μεθόδους χρήσης του λευκού χώρου regex στην Java.