Извлечение нескольких элементов списка с помощью регулярных выражений - PullRequest
0 голосов
/ 09 сентября 2018

Приведенный ниже код используется для извлечения списка элементов из order_details

Вывод ожидаемых нескольких элементов enter image description here

Ниже код отлично работает для1 ПУНКТ, но 2-й элемент / несколько элементов не выбираются с использованием приведенного ниже регулярного выражения.

Я хочу, чтобы он был динамическим, чтобы он работал для любого числа элементов, найденных в соответствующем шаблоне.

 var order_details = "Detalle\n Unidad\n Cantidad\n Total\n     Triple Insomnio Especial   S/37 1  S/37.90  Insomnio Especial  S/21 2 S/23.12 *Tipo de papa:*  - Papa Amarilla Tumbay S/0.00\n     *Adicional :*  - Quesp cheddar S/0.00\n     *Agrega Bebida:*  - Fanta 400 ml S/0.00\n     *Salsas:*  - Mayonesa S/0.00\n - Ketchup S/0.00\n - Golf S/0.00\n - Guacamole S/0.00\n - Ají S/0.00\n - Tártara S/0.00\n - Mayo-aji S/0.00\n      "     ;
    
    var rx = /\s+(.*?)\s+(S\/.*?)\s+(\d+)\s+(S\/.*?)\s+([\s\S]*)/
    
    var m = rx.exec(order_details)
    
    var Detalle = m[1]
    var Unidad = m[2]
    var Cantidad = m[3]
    var Total = m[4]
    var Other = m[5]
    
    console.log(Detalle)
    console.log(Unidad)
    console.log(Cantidad)
    console.log(Total)
    console.log(Other)

1 Ответ

0 голосов
/ 09 сентября 2018

Вы можете попробовать это,

(?:\s+?).+?\s+(S\/\d+)\s+(\d+)\s+(S\/\d+\.\d+)

попробуйте демо здесь

...