2008-09-05 4 views
2

Est-ce que quelqu'un connaît une bibliothèque (de préférence php) ou un algorithme pour générer automatiquement des regex à partir de certaines descriptions courantes?Comment générer dynamiquement la validation de chaîne?

Par exemple, ont une forme avec les options possibles:

- Length (=x, between x & y, etc) 
    - Starts with 
    - Ends with 
    - Character(s) x(yz) at index i 
    - Specify one or more alternative behavior based on the above 
    - And so on.. 

L'idée est que, pour certaines entités de données dans un système, vous serez en mesure d'aller à un formulaire et définissez ce critère pour un champ de données. Ensuite, chaque fois que le champ de données pour ce type d'entité de données est entré, il sera validé par rapport à l'expression régulière.

Cela semble pouvoir devenir un problème complexe, donc je ne m'attends à personne pour le résoudre dans son ensemble. Les suggestions sont très appréciées.

+1

Il est particulièrement compliqué de trouver une bibliothèque pour le point * "Et ainsi de suite ..." *. Tant que vous n'écrivez pas spécifiquement ce que vous cherchez, il est difficile de répondre à tous. – hakre

Répondre

2

Des globs simples seraient-ils suffisants? Pour les globes, il suffit de remplacer * par. * Et d'ajouter^et $. Ou peut-être des modèles de style Excel? Il ne devrait pas être trop difficile d'écrire un générateur d'expression rationnelle pour des règles simples comme celle-ci ...

Mon point est, ajustez vos besoins pour simplifier le code, et puis peut-être ajouter plus de fonctionnalités si nécessaire.

+0

Globs devrait être, mais je ne voulais pas vraiment avoir à écrire mon propre générateur de code re et certains des modèles peuvent être assez complexes. Pour votre 2ème point, je souhaite que je puisse simplifier, mais la validation est sur l'entrée de nombreuses entités différentes qui ne sont pas d'accord sur les formats universels; Je voudrais soutenir chacun. –

Questions connexes