Le manuel nous apprend à écrire des expressions régulières en utilisant le symbole epsilon (ε)
, mais comment puis-je traduire ce symbole directement en code sans avoir à retravailler complètement mon expression régulière?Comment puis-je représenter epsilon dans une expression régulière?
Par exemple, comment est-ce que j'écrirais cette regex qui attraperait toutes les chaînes de minuscules qui commencent ou se terminent par a
(ou les deux).
pas à 100% sûr que ce soit correct, mais ...
((a | epsilon
) [a-z] *
a) | (Un [az] *
(a | epsilon
))
Ainsi, certaines chaînes qui doivent correspondre à inclure:
a //single "a" starts or ends with "a"
aa //starts and ends with "a"
ab //starts with "a"
ba //ends with "a"
aba //starts and ends with "a"
aaaaaaaa //starts and ends with "a"
abbbbbbb //starts with "a"
bbbbbbba //ends with "a"
abbbbbba //starts and ends with "a"
asdfhgdu //starts with "a"
onoineca //ends with "a"
ahnrtyna //starts and ends with "a"
Je seulement ce qu'il faut échanger epsilon
pour le symbole correct, je ne veux pas modifier une partie du reste de l'expression. Aussi je veux être clair, je ne vérifie pas réellement le symbole epsilon, je veux avoir le choix d'un personnage ou de rien (eh bien pas rien ... epsilon).
Un tel symbole existe-t-il?
Est ce que je veux possible?
Si le jeu de caractères (et la langue) le supporte, ne pourriez-vous pas simplement insérer 'ε' directement? Qu'avez-vous essayé? Qu'est-il arrivé? – jensgram
@typoknig :) Posté réponse adhérant à la structure QA de SO. Ignorez s'il vous plaît. – jensgram
@jensgram Je pense que je pourrais avoir été dans l'erreur. Je pensais que ça fonctionnait au début mais maintenant je ne suis pas sûr. Juste pour être clair, je ne vérifie pas le caractère réel «epsilon». Voir ma question révisée pour un meilleur exemple regex de ce que j'essaie de faire. – ubiquibacon