用正则表达式过滤select * from tables where name=:name and age=:age中的:name和:age
时间: 2023-05-16 22:05:10 浏览: 66
可以使用以下正则表达式来过滤:name和:age:
```
/:(\w+)/g
```
这个正则表达式会匹配所有以冒号开头的单词字符,并将它们作为捕获组返回。在JavaScript中,你可以使用RegExp对象的exec()方法来获取所有匹配的结果。
相关问题
在vue.js中怎么用正则表达式过滤select * from tables where name=:name and age=:age中的:name和:age、
在Vue.js中,可以使用正则表达式和字符串替换来过滤select语句中的参数。以下是一个示例代码:
```javascript
let sql = "select * from tables where name=:name and age=:age";
let regex = /:[a-zA-Z0-9_]+/g;
let params = sql.match(regex);
params.forEach(param => {
sql = sql.replace(param, "?");
});
console.log(sql); // "select * from tables where name=? and age=?"
```
在这个例子中,我们首先定义了一个正则表达式,用于匹配select语句中的参数。然后,我们使用match方法来获取所有匹配的参数,并使用forEach方法遍历这些参数。在遍历过程中,我们使用replace方法将参数替换为问号,最终得到过滤后的select语句。
在vue.js中怎么用正则表达式过滤select * from tables where name=:name and age=:age中的:name和:age,并排除掉to_date(xxx,"HH24:mm:ss")中的:mm:ss
可以使用正则表达式 /(?!to_date\()(?::\w+)/g 来过滤掉select语句中的:name和:age,并排除掉to_date(xxx,"HH24:mm:ss")中的:mm:ss。在vue.js中可以使用正则表达式的test()方法来判断是否匹配,或者使用replace()方法来替换匹配的内容。