извлечь переменные из выражения с помощью регулярных выражений JavaScript - PullRequest
1 голос
/ 09 апреля 2010

Например, вот строка, представляющая выражение:

var str = 'total = sum(price * qty) * 1.09875';

Я хочу извлечь переменные (т. Е. «Total», «price» и «qty», но не «sum», поскольку «sum»)'является именем функции) из этого выражения.Что такое шаблон регулярных выражений в javascript?Имя переменной состоит из букв, цифр или подчеркивания, начиная с букв или подчеркивания.

1 Ответ

3 голосов
/ 09 апреля 2010
return "total = sum(price * qty) * 1.09875".match(/[a-z_]\w*(?!\w*\s*\()/ig);

Здесь

  1. [a-z_] соответствует 1 букве или 1 подчеркиванию,
  2. \w* соответствует 0 или более буквам, цифрам или подчеркиванию (\w означает [a-zA-Z0-9_])
  3. (?!…) - негативный взгляд. Матч не удастся, если материал внутри совпадает.
  4. \w*\s*\( соответствует нескольким буквам, затем пробелам, а затем (. Это позволяет отклонять имена функций.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...