用于查找参数的Javascript中的正则表达式

Regular Expression in Javascript for finding parameters

本文关键字:正则表达式 Javascript 用于 参数 查找      更新时间:2023-09-26

我正在尝试用javascript编写一个正则表达式,以捕获PostgreSQL字符串中的所有命名参数,并将其放入表中

假设我们有

var query="SELECT table.data FROM table JOIN table2 ON table2.id=table.id_tab2 WHERE table2.field <> :parm1::int GROUP BY table.data HAVING table.data position(:docType::text in document_type) <> 0
var tab=new Array();
//

我需要rs将所有参数放入选项卡:"param1::int"answers"docType::text"我试着自己做,但没有成功:(http://regexr.com?31nok

这样的东西?:('w+::'w+)

(:[a-zA-Z0-9]+::[a-zA-Z0-9]+)

a-Z之间可能会有奇怪的事情,所以只需使用不区分大小写的[a-Z]或[a-zA-Z]。我想你可能想要一场全球比赛(找到所有结果)。多行是另一回事,它使.'n匹配,这对你没有帮助,我可以看到。试试这个:http://regexr.com?31not

当我尝试:([^: ]+::[^: ]+)(:[^: ]+::[^: ]+)时,我没有看到任何差异——冒号在这两种情况下都匹配。

然而,我找到了其他方法

(?!:)([a-z0-9_-]+::[a-z0-9_-]+)

工作非常完美。第一部分(?<=:)确定"在主表达式之前匹配一个组,但不将其包含在结果中。"

谢谢大家的回答;)