2015-05-13 4 views
1

Я пытаюсь получить таблицы и псевдонимы в SQL оператора выбора, например, следующие: выберитенесколько вхождений каждой группы захвата в Javascript Regex

select * from table1 t1, table2, table3 t3, table4 where column = 1 

должен вернуть две захватив группы, первый table1, table2, table3 и table4. Вторая группа захвата t1, null, t3 и null.

Моя попытка возвращает только первый элемент каждого захвата группы:

from\s+([^ ,]+)\s*(\w+)*, 

возвращается table1 и t1 только. Как расширить регулярное выражение для извлечения всех вхождений?

+0

Я не вижу, как этот вопрос вы предлагаете в качестве DUP ответов мой вопрос – ps0604

+0

@pgschr: Решение вам get также совпадает, а затем разделить на разделитель. Так что это более или менее дубликат. – nhahtdh

ответ

1

str Предполагая ваша строка

var tables = str.match(/from\s(.*)\swhere/)[1].split(/, /); 

Возвращает:

["table1 t1", "table2", "table3 t3", "table4"] 
+0

Мне нужно связать псевдоним с именем таблицы, например table3 с t3, в вашем Regex я не могу это сделать – ps0604

+0

@pgschr ах, это еще проще. Я обновлю свой ответ – Downgoat