c++ - régulière - test regex c




Support d'expressions régulières facile à utiliser en C++? (7)

La bibliothèque C GNU prend en charge les expressions régulières . C'est ouvert, et le code RE semble être facilement extractible.

Je suis à la recherche d'un évaluateur d'expressions régulières robuste, facile à utiliser, pour C ++ natif, indépendant de la plate-forme ou spécifique à Windows.

Exigences:

  • Impossible d'utiliser les bibliothèques Regex ACE ou Boost (malheureusement)
  • Impossible d'utiliser .NET Regex (ou tout code managé)

L'exigence principale est qu'il devrait être autonome et ouvert.


La fonction d'expressions régulières de la bibliothèque GNU C (regcomp (), regexec () et friends) est rompue. Utilisez libetre à la place; les signatures de fonction correspondent à celles fournies par glibc. http://laurikari.net/tre/


essayez libpcre

Si vous êtes coincé sur les fenêtres, ils ont un port Windows qui devrait fonctionner. Je sais que e-texteditor l' utilise, alors au moins c'est la preuve que ça marche :-)


J'appuierais la recommandation pour le PCRE . Je l'ai utilisé dans des projets C ++ sous Windows et ça marche très bien. C'est gratuit, même pour la construction de logiciels commerciaux. Il implémente également quelque chose d'un langage d'expression régulière standard de facto, qui sera le bienvenu pour vos utilisateurs. PCRE est bien sûr compatible Perl, et Python utilise également la même bibliothèque.

L'interface PCRE native est un peu maladroite et très style C, donc ça vaut probablement la peine d'écrire un joli wrapper C ++ autour. Il y en a probablement déjà un, mais je n'en connais aucun.


La bibliothèque ATL Server gratuite de Codeplex inclut un analyseur regex.

Serveur ATL



C ++ 11 inclut désormais le support des expressions régulières. Ce sera indépendant de la plateforme. Vous avez juste besoin d'un compilateur récent. Vérifiez la liste suivante pour savoir lequel utiliser.

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

J'espère que cela aide





regex