Écrivez une expression rationnelle non triviale qui correspond à elle-même.
Par exemple, #.*$
correspondra à un commentaire en dehors d'une chaîne en python jusqu'à la fin de la ligne, et se correspondra également dans la syntaxe de regex perl.
Règles :
- L'expression régulière doit faire quelque chose d'utile ou de pratique.
- Dites quelle syntaxe regex vous utilisez (par exemple perl ou POSIX).
- Le gagnant est la réponse conforme la plus votée.
- Sois créatif!
popularity-contest
regular-expression
Casey Kuball
la source
la source
A
serait trivial, mais où tracez-vous la ligne? Et par "auto-appariement", voulez-vous dire qu'il ne peut correspondre qu'à lui-même, ou est-il autorisé à correspondre à d'autres chaînes également? Serait.
admissible?Réponses:
Volé à https://github.com/LeaVerou/prism/blob/gh-pages/components/prism-javascript.js . Cela devrait correspondre (en JavaScript) à toutes les expressions régulières JavaScript.
la source
PYTHON
Vous trouverez ci-dessous un générateur d'expressions regex auto-assorties. Vous fournissez deux listes, l'une contient les données d'apprentissage que l'expression régulière doit correspondre (en plus de la correspondance elle-même), l'autre contient les données d'apprentissage que l'expression régulière ne doit PAS correspondre:
la source
simulate
fonction fait partie de l'utilisation? Votresimulate
fonction n'utilise pas l'argument # 2.no_match
est censé être renomméno_match_list
. Modifiépopulation = generate_pop(pos_matches, neg_matches, pop_size)
, mais lagenerate_pop
fonction n'utilise jamais leneg_matches
paramètre? Pouvez-vous également inclure un exemple d'appel de la fonction? Puis-je l'appeler comme çasimulate(["Hello","World","world"], ["woah","bad","dont match"])
?simulate()
fonction comme vous l'avez décrit. Et oui, vous avez raison: je n'utilise pas les données négatives pour générer la population initiale.Expression régulière JavaScript qui correspond à des éléments similaires.
Vous pouvez le tester comme ceci:
la source