我在 JavaScript 中执行 SQL 查询时遇到问题。
let query ='SELECT * FROM Customers WHERE CustomerID = 1 And CustomerName=&name And CustomerAdd = &&address And Salary =^salary;'
实际上我必须找出所有以 &、&&、^ 符号等特殊字符为前缀的动态变量。
一旦动态变量find就需要找到对应的列名。 示例:对于 &name 列名称是 Custoername, &&地址列是 CustomerAdd。
我可以使用匹配的正则表达式找到特殊字符单词。但是如何在javascript中找到它们对应的列名。我不知道。
请提出建议或让我知道是否需要更多解释。
最佳答案
我们可以在您的 SQL 查询字符串上应用正则表达式来查找所有占位符及其对应的列名称。
var regex = /(\S+)\s*=\s*(&&|&|\^)\s*(\S+)/g;
var sql = 'SELECT * FROM Customers WHERE CustomerID = 1 And CustomerName=&name And CustomerAdd = &&address And Salary =^salary;';
var m;
do {
m = regex.exec(sql);
if (m) {
console.log(m[1] + ' ' + m[2] + ' ' + m[3]);
}
} while (m);
Demo
关于javascript - 获取javascript中对应匹配单词的前一个单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51102736/