1

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" と " docType::text" 私は自分でやろうとしましたが、成功しませんでした :(

4

5 に答える 5

1

postgreSQL はわかりませんが、質問の要点は理解できたと思います。

これは正しいですか: http://refiddle.com/2tc ?

于 2012-08-03T12:17:15.523 に答える
1

このようなもの? :(\w+::\w+)

于 2012-08-03T12:13:37.250 に答える
1

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

于 2012-08-03T12:15:10.920 に答える
1

aZ の間には奇妙なことがある可能性があるため、大文字と小文字を区別しない [az] または [a-zA-Z] を使用してください。おそらくグローバルマッチが必要だと思います(すべての結果を見つけます)。複数行は別のものです。.一致\nさせますが、私が見ることができるのは役に立ちません。これを試してください: http://regexr.com?31not

于 2012-08-03T12:15:23.850 に答える
0

私が試し:([^: ]+::[^: ]+)てみると(:[^: ]+::[^: ]+)、違いが見られません.両方のケースでコロンが一致しています.

しかし、私は他の方法を見つけました

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

完璧に動作します。最初の部分(?<=:)は、「結果に含めずに、主な表現の前にあるグループに一致します」と判断します。

みなさん、回答ありがとうございます;)

于 2012-08-03T13:00:44.793 に答える