Учебник учит нас писать регулярные выражения с использованием символа epsilon (ε)
, но как я могу перевести этот символ непосредственно в код без необходимости полностью переделывать мое регулярное выражение?
Например, как быЯ пишу это регулярное выражение, которое будет перехватывать все строчные буквы, начинающиеся или оканчивающиеся на a
(или оба).
Не уверен на 100%, что это правильно, но ...
((a| epsilon
) [az] *
a) |(a [az] *
(a | epsilon
))
Так что некоторые строки, которые должны соответствовать, включают:
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"
Я только то, что нужно обменять epsilon
на правильныеСимвол, я не хочу изменять какую-либо часть остальной части выражения.Также я хочу прояснить, я на самом деле не проверяю символ epsilon, я хочу выбрать символ или ничего (ну, не ничего ... epsilon).
Имеет ли такоесимвол существует?
Возможно ли то, что я хочу?