
Ψάχνω για ένα ισχυρό, εύκολο στη χρήση, η τακτική αξιολογητής έκφραση για τη μητρική C ++, είτε ανεξάρτητα από την πλατφόρμα ή Windows.


Απαιτήσεις:


* Δεν είναι δυνατή η χρήση Boost ή βιβλιοθήκες regex ACE (δυστυχώς)
* Δεν είναι δυνατή η χρήση του .NET Regex (ή οποιοδήποτε διαχειριζόμενο κώδικα)


Η κύρια απαίτηση είναι ότι πρέπει να είναι αυτόνομη και ανοιχτή.

 
Εύκολο στη χρήση Συνήθης έκφραση υποστήριξης σε C ++;
=====================================================



C ++ 11 περιλαμβάνει πλέον την υποστήριξη των κανονικών εκφράσεων. Θα είναι ανεξάρτητη πλατφόρμα. Απλά χρειάζεται μια πρόσφατη compiler. Ελέγξτε την παρακάτω λίστα για να ξέρετε ποια να χρησιμοποιήσει.


<http://wiki.apache.org/stdcxx/C%2B%2B0xCompilerSupport>


Η ελπίδα αυτό βοηθά

 

δοκιμάστε [libpcre](http://www.pcre.org/)


Αν είστε κολλημένοι σε παράθυρα έχουν μια θύρα παράθυρα που θα πρέπει να εργαστεί. Ξέρω [e-texteditor](http://e-texteditor.com) που χρησιμοποιεί, έτσι ώστε τουλάχιστον αυτό είναι απόδειξη ότι λειτουργεί :-)

 

Η C βιβλιοθήκη GNU υποστηρίζει [κανονικές εκφράσεις](http://www.gnu.org/software/libtool/manual/libc/Regular-Expressions.html) . Είναι ανοιχτό, και ο κωδικός RE φαίνεται να είναι εύκολα εξαγώγιμη.

 

Το GNU C βιβλιοθήκη κανονικές εκφράσεις εγκατάσταση (regcomp (), regexec () και των φίλων) είναι σπασμένο. Χρησιμοποιήστε libetre αντ 'αυτού? οι υπογραφές λειτουργία ταιριάζουν με αυτές που παρέχονται από glibc.
<http://laurikari.net/tre/>

 

Εάν χρησιμοποιείτε το Visual Studio, μπορείτε να χρησιμοποιήσετε το Visual C ++ 2008 Feature Pack Τύπου, αυτή υλοποιεί ορισμένες από τις TR1, και περιλαμβάνει την τακτική ανάλυση εκφράσεων. [Αποκτήστε το](http://www.microsoft.com/downloads/details.aspx?FamilyId=D466226B-8DAB-445F-A7B4-448B326C48E7&displaylang=en)

 

[Qt](http://qt.nokia.com/) έχει επίσης ένα ωραίο [Κανονική Έκφραση](http://en.wikipedia.org/wiki/Regular_expression) εφαρμογή [QRegExp](http://qt-project.org/doc/qt-4.8/qregexp.html) . Επίσης, είναι ανεξάρτητο πλατφόρμας.

 

Γιατί δεν μπορείτε να χρησιμοποιήσετε τη βιβλιοθήκη regex Microsoft ATL της; Kenny Kerr έχει γράψει ένα [σύντομο άρθρο](http://weblogs.asp.net/kennykerr/archive/2008/07/18/visual-c-in-short-regular-expressions.aspx) για αυτό πρόσφατα.



> 
> ATL περιλαμβάνει ένα ελαφρύ τακτική εφαρμογή έκφρασης. Αν και αρχικά μέρος της Visual C ++, που περιλαμβάνεται τώρα με τη λήψη ATL Server.
> 
> 
> Το `CAtlRegExp`πρότυπο κλάση υλοποιεί το πρόγραμμα ανάλυσης και ταιριάζουν κινητήρα. ...
> 
> 
> Η κανονική γραμματική έκφραση ορίζεται στην κορυφή του `atlrx.h`
>  αρχείου header.
> 
> 
> 

 

Θα ήθελα δεύτερη η σύσταση για [PCRE](http://pcre.org) . Έχω χρησιμοποιήσει σε έργα C ++ στα Windows και λειτουργεί μεγάλο. Είναι δωρεάν, ακόμα και για την οικοδόμηση εμπορικού λογισμικού. Υλοποιεί, επίσης, ένα είδος de facto πρότυπο τακτική γλώσσα έκφρασης, η οποία θα είναι ευπρόσδεκτη για τους χρήστες σας. PCRE είναι φυσικά Perl-συμβατά, και Python χρησιμοποιεί επίσης την ίδια βιβλιοθήκη.


Η μητρική διεπαφή PCRE είναι λίγο δύσκολη και πολύ C-στυλ, γι 'αυτό ίσως αξίζει γράφει ένα ωραίο C ++ περιτύλιγμα γύρω από αυτό. Υπάρχει πολύ πιθανό ήδη είναι ένα από εκεί, αλλά δεν είμαι εξοικειωμένος με οποιονδήποτε.

 

Η ελεύθερη ATL διακομιστή Βιβλιοθήκη και εργαλεία από CodePlex περιλαμβάνει ένα πρόγραμμα ανάλυσης regex. Δείτε [AtlServer στο Αρχείο CodePlex](https://archive.codeplex.com/?p=atlserver)



> 
> ATL Server είναι μια βιβλιοθήκη της C ++ κατηγοριών που επιτρέπουν στους προγραμματιστές να δημιουργήσουν δύο client και server μέρη της C ++ εφαρμογών υπηρεσίας τύπου και διαδικτυακές υπηρεσίες. Παρέχει ένα μεγάλο μέρος της λειτουργικότητας που απαιτείται για την κατασκευή μεγάλης κλίμακας ιστοσελίδες του διαδικτύου, όπως η ανταλλαγή μηνυμάτων SOAP, εγκαταστάσεις προσωρινής αποθήκευσης, εγκαταστάσεις σπείρωμα, τακτική επεξεργασία της έκφρασης, της διαχείρισης της συνόδου-κράτους, την παρακολούθηση των επιδόσεων, την υποστήριξη MIME, ενοποίηση με τις υπηρεσίες IIS και την τάξη για την αλληλεπίδραση με την ασφάλεια και κρυπτογραφική υποδομής. Οι προηγούμενες εκδόσεις της βιβλιοθήκης είναι μέρη του Visual Studio 2002, Visual Studio 2003 και Visual Studio 2005. Το έργο έχει ξεκινήσει από την έκδοση της βιβλιοθήκης κυκλοφόρησε ως μέρος του Visual Studio 2005 SP1.
> 
> 
> 

 

C ++ 11 και προς τα εμπρός τώρα περιέχει την [τυπική τακτική βιβλιοθήκη έκφρασης](http://en.cppreference.com/w/cpp/regex) .   

Περιλαμβάνουν την `<regex>`κεφαλίδα, και τη χρήση.

 