Чтобы ответить на последнее упражнение в девятой главе Eloquent JavaScript, я написал регулярное выражение, которое соответствует только номерам в стиле JavaScript.Различия между этими двумя регулярными выражениями незначительны?
Моя регулярное выражение:
/^[-+]?(\d+\.?\d*|\.\d+)([eE][-+]?\d+)?$/
синтаксическая диаграмма: https://www.debuggex.com/r/-E6E-Vtk7RWMv5X9
автора регулярное выражение:
/^(\+|-|)(\d+(\.\d*)?|\.\d+)([eE](\+|-|)\d+)?$/
синтаксическая диаграмма: https://www.debuggex.com/r/CCeZTSHeRIxnNXXY
Различия между этими двумя регулярными выражениями незначительны? Есть ли строка, к которой будет соответствовать мое регулярное выражение, но автор не будет, или наоборот?
Для одного авторов требует + или а - в то время как ваш не требует один (плюс 1 для улучшенных регулярных выражений) – b729sefc
@ b729sefc: не требуется плюс/минус. Обратите внимание на «или ничего» '|)'. – Thilo
на самом деле авторы не требуют + или -, но + или - являются группой (в обоих случаях) –