Δοκιμάστε κανονικές εκφράσεις JavaScript με δείγμα κειμένου
Χρησιμοποιήστε αυτό το εργαλείο όταν πρέπει να ελέγξετε τι ταιριάζει μια κανονική έκφραση JavaScript πριν την εισάγετε σε κώδικα frontend, Node.js ή TypeScript.
Επικολλήστε δείγμα κειμένου, εισάγετε το πρότυπο χωρίς περιτρίμματα '/', επιλέξτε σημαίες, και στη συνέχεια ελέγξτε τις αντιστοιχίες, τις ομάδες και την προεπισκόπηση αντικατάστασης.
Τι σημαίνει κάθε αποτέλεσμα
- Επισημασμένες αντιστοιχίες δείχνει πού ταιριάζει το πρότυπο μέσα στο δείγμα κειμένου.
- Αντιστοιχίες και ομάδες καταγράφει τα εύρη αντιστοιχιών, τις αριθμημένες ομάδες και τις ονομασμένες ομάδες.
- Αποτέλεσμα αντικατάστασης προεπισκόπηση JavaScript
String.replace()με τη συμβολοσειρά αντικατάστασής σας. - Αντιγραφή JSON αντιστοιχιών αντιγράφει δομημένα δεδομένα αντιστοιχιών. Αντιγραφή αντικατάστασης αντιγράφει το κείμενο προεπισκόπησης αντικατάστασης.
- Αντιγραφή URL αντιγράφει το τρέχον πρότυπο, τις σημαίες, την αντικατάσταση και το δείγμα κειμένου στο hash του URL.
Υποστηριζόμενες σημαίες
| Flag | Name | Effect |
|---|---|---|
g | Global | Βρείτε όλες τις αντιστοιχίες αντί μόνο της πρώτης. |
i | Αγνόηση πεζών/κεφαλαίων | Εντοπίστε γράμματα χωρίς διάκριση πεζών/κεφαλαίων. |
m | Multiline | Make ^ and $ λειτουργούν ανά γραμμή. |
s | DotAll | Let . ταιριάζει με αλλαγές γραμμής. |
u | Unicode | Χρησιμοποιήστε κανόνες αντιστοίχισης με υποστήριξη Unicode. |
y | Sticky | Ταιριάξτε μόνο από το τρέχον JavaScript lastIndex. |
Limits
- Αυτό είναι ένα
RegExpεργαλείο δοκιμής JavaScript, όχι για PCRE, Python, Java, SQL ή .NET. - Το δείγμα κειμένου και οι συλλεχθείσες αντιστοιχίες έχουν όριο για να διατηρείται η σελίδα ανταποκριτική.
- Ορισμένα προφανή πρότυπα με εμφωλευμένους πολλαπλασιαστές αποκλείονται, αλλά αυτό δεν είναι πλήρες εργαλείο ανάλυσης ReDoS.
- Η JavaScript δεν παρέχει συγχρονισμένο timeout για μία εκτέλεση regex.
- Τα hash του URL μπορεί να περιλαμβάνουν επικολλημένο δείγμα κειμένου. Αφαιρέστε ιδιωτικά αρχεία καταγραφής ή μυστικά πριν μοιραστείτε ένα αντιγραμμένο URL.
Συχνές Ερωτήσεις
Ποια σύνταξη regex χρησιμοποιεί αυτή η σελίδα;
Χρησιμοποιεί JavaScript RegExp Χρησιμοποιεί σύνταξη RegExp για browser, Node.js και TypeScript. Τα πρότυπα γραμμένα για PCRE, Python, Java, SQL ή .NET μπορεί να συμπεριφέρονται διαφορετικά.
Γιατί βλέπω μόνο μία αντιστοιχία;
Προσθέστε το g σημαία για να συλλέξετε όλες τις αντιστοιχίες. Χωρίς g, η JavaScript συνήθως επιστρέφει την πρώτη αντιστοιχία.
Μπορώ να χρησιμοποιήσω ονομασμένες ομάδες στις αντικαταστάσεις;
Ναι. Ονομασμένες ομάδες όπως (?<level>ERROR|WARN) εμφανίζονται στις λεπτομέρειες αντιστοιχίας και μπορούν να επαναχρησιμοποιηθούν στο κείμενο αντικατάστασης ως $<level>.
Ποια είναι η διαφορά μεταξύ Αντιγραφής JSON αντιστοιχιών και Αντιγραφής αντικατάστασης;
Η 'Αντιγραφή JSON αντιστοιχιών' αντιγράφει τα εύρη αντιστοιχιών και τις ομάδες ως JSON. Η 'Αντιγραφή αντικατάστασης' αντιγράφει το κείμενο που παράγεται από την προεπισκόπηση αντικατάστασης.
Μπορεί αυτό να ανιχνεύσει επικίνδυνα πρότυπα backtracking;
Μόνο μερικώς. Το εργαλείο αποκλείει μερικά προφανή πρότυπα με εμφωλευμένους πολλαπλασιαστές και θέτει όρια στο μέγεθος εισόδου, αλλά δεν είναι πλήρες εργαλείο ανάλυσης ReDoS.