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

问题描述 投票:1回答:5

我正在尝试在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();

//

我需要把所有参数放入标签:“param1::int”和“docType::text”我尝试自己做但没有成功:( http://regexr.com?31nok

javascript regex postgresql
5个回答
1
投票

这样的事情? :(\w+::\w+)


1
投票

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


1
投票

a-Z之间可能有奇怪的东西,所以只需使用不区分大小写的[a-z]或[a-zA-Z]。我想你可能想要一个全局匹配(找到所有结果)。多线是别的东西,它使.匹配\n,这对我看不到你的帮助。试试这个:http://regexr.com?31not


1
投票

我不知道postgreSQL,但我想我得到了你的问题的要点。

这是对的:http://refiddle.com/2tc


0
投票

当我尝试:([^: ]+::[^: ]+)(:[^: ]+::[^: ]+)我看到没有区别 - 冒号在两种情况下匹配。

但是我发现了其他一些方法

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

工作得很好。第一部分(?<=:)确定“在主表达式之前匹配一个组而不在结果中包含它”。

谢谢大家的回答;)

© www.soinside.com 2019 - 2024. All rights reserved.