Парсер для строки - PullRequest
0 голосов
/ 03 мая 2018

Предположим, у меня есть строка,

 str = "Date()+Abs(9)Day()+45"

Я хочу массив, который содержит:

arr[0]=Date()
arr[1]=Abs(9)
arr[2]=Day()

Мой текущий парсер:

var temp = str.match(/\w+(\w+)/)

Пожалуйста, помогите

1 Ответ

0 голосов
/ 03 мая 2018

Это довольно простое выражение.

/          -- START expression
  \w+      -- One or more alpha-numeric (plus '_')
  \(       -- Literal opening parenthesis
  [\w/-]*  -- Zero or more alpha-numeric (plus '_', '/', and '-')
  \)       -- Literal closing parenthesis
/g         -- END expression; Global match

var str = "Date(20/04/98)+Abs(-9)Day(20/04/98)+45"
var arr = str.match(/\w+\([\w/-]*\)/g);

console.log(JSON.stringify(arr, null, 2));

// arr[0] = Date(20/04/98)
// arr[1] = Abs(-9)
// arr[2] = Day(20/04/98)

Узнать больше

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...