#regex
Вопрос:
ПРИВЕТ, у меня есть строка, похожая var Sql=" INSERT INTO DB.SCHEMA.TABLE VALUES(?,?,?)"
на шаблон регулярного выражения, который я использую (? DB.SCHEMA.TABLE VALUES(?,?,?).
Но мне нужно первое слово сразу после ВСТАВКИ В , которое в данном случае является DB.SCHEMA.стол.
Какое дополнительное выражение я должен добавить в шаблон регулярных выражений, чтобы получить только первое слово после вставки в
Ответ №1:
Вы можете использовать
const text = `var Sql=" INSERT INTO DB.SCHEMA.TABLE VALUES(?,?,?)"`;
const regex = /bINSERTs INTOs (w (?:.w )*|`[^`]*`)/g;
const results = Array.from(text.matchAll(regex), (x) => x[1]);
console.log(results);
Смотрите демонстрацию регулярных выражений. Подробные сведения:
bINSERT
— целое словоINSERT
s
— один или несколько пробеловINTO
— одноINTO
словоs
— один или несколько пробелов(w (?:.w )*|`[^`]*`)
— Группа 1: один или несколько символов слова, а затем ноль или более вхождений.
и один или несколько символов слова, или обратный отсчет, ноль или более символов, отличных от обратного отсчета, а затем обратный отсчет.