J'écris un programme qui analyse du texte avec une expression régulière. L'expression régulière doit être obtenue auprès de l'utilisateur. Je déside à utiliser la syntaxe glob pour l'entrée de l'utilisateur, et convertir la chaîne glob à l'expression régulière en interne. Par exemple:Créer une regex à partir de l'expression globale
"foo.? bar*"
doivent être converties en
"^.*foo\.\w\bar\w+.*"
D'une certaine façon, j'ai besoin d'échapper à tous les personnages significatifs de la chaîne, alors je dois remplacer glob * et? caractères avec une syntaxe regexp appropriée. Quel est le moyen le plus pratique de le faire?
Le regex semble un peu étrange. Comme: "^. * Foo" pourrait être écrit comme "foo". Et je pense que l'étoile de globbing se traduit par la regex ". *?". Où est passé l'espace dans la recherche? Et \ bar correspond à des mots commençant par "ar". – PEZ