Я бы хотел использовать Peg.js для анализа и проверки того, что я делал с регулярными выражениями и борюсь с синтаксисом.
Моя программа Peg.js:
start = (var / other) cr
d:var {return d.join('')}
var = [^(?=.{1,32}$)([a-zA-Z_][a-zA-Z0-9_]*)$] {return "OK"}
other = . {return "NOT OK"}
cr = "\n"
И я проверяю это со следующим текстом:
test1
no space
1var
_temp
ReallyLongNameisInvalidandLongerthan32
IncorrectChars!!asdf
_
underscore_is_fine_
Я ожидаю результатов ДА, НЕТ, НЕТ, ДА, НЕТ, НЕТ, ДА, ДА, но я собираюсь по кругу сошибки регулярного выражения, которые обычно работают нормально.