javascript - 获取javascript中对应匹配单词的前一个单词

标签 javascript

我在 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/

相关文章:

javascript 我无法捕获语法错误

javascript - 如何使我的图片库响应

javascript - Vivus.js 脚本不会在 WordPress 中执行

javascript - 在CKEditor对话框中动态添加UI元素

javascript - 带有 textarea 和 .text 的 JQuery/Firefox 错误?

javascript - 工具提示最大宽度设置

java - GWT:全局 javascript 覆盖类型

javascript - 运算符管道是否创建类似于过滤器、映射、减少创建中间数组的中间可观察对象?

javascript - 在事务中包装 sequelize ORM 测试

javascript - Flex Slider Teaser 拇指图像 slider