Я пытаюсь написать регулярное выражение для чтения реальных литералов на основе этого графика:
Я обнаружил, что это решение работает:
([0-9]+(\.[0-9]+)?[Ee][\+\-]?[0-9]+)|([0-9]+\.[0-9]+)
Обратите внимание на две части, разделенные чередованием:
([0-9]+(\.[0-9]+)?[Ee][\+\-]?[0-9]+)
([0-9]+\.[0-9]+)
Когда я попытался изменить порядок следования того или иного символа чередования, он перестает работать
([0-9]+\.[0-9]+)|([0-9]+(\.[0-9]+)?[Ee][\+\-]?[0-9]+)
Эти части точно так же, как и выше, но теперь он вдруг не работает. Я неправильно понимаю, как | (чередование) символ работает? Разве это не то же самое, что || (или) для логических выражений?