Я никогда раньше не использовал регулярные выражения, и я тестировал несколько примеров. Я не понимаю, почему регулярное выражение ^([a-z] | a)$
не соответствует строке 'a'.
Как я понял [a-z]
эквивалентно (a | b | c | ... | y | z)
, поэтому [a-z] | a
должно быть эквивалентно (a | b | c | ... | y | z) | a
, что одно и то же сказать (a | b | c | ... | y | z)
или [a-z]
.
По этой причине строка str соответствует ^([a-z] | a)$
, если соответствует ^[a-z]$
.
Вот почему я не понимаю, почему, что регулярное выражение не соответствует строке «а» или «е», например.
PS: Я тестировал это в этом page.
Поскольку он соответствует любой букве между 'a' и 'z' ** + пробелом ** или ** пробелом ** + 'a'. – JJJ
Пробелы вокруг | является значительным –