1

javascript で regx 一致の一部を置き換えるにはどうすればよいですか。

Ex: fn_eq("col","va  AND l") AND fn_gt("col","v AND a ")

式で区切られた文字列ANDを、 ||などの他の文字列に置き換える必要があります。.

この正規表現を使用して、上記の式と一致させることができます。
(\w+\((".*?",".*?")\))\s+(AND)\s+(\w+\((".*?",".*?")\))

式 (2 番目のキャプチャ グループ) で区切られた AND を置き換えて、残りを残すにはどうすればよいですか。

どんな助けでも大歓迎です。

4

1 に答える 1

2

簡単な交換で済みませんか?

var string = 'fn_eq("col","va  AND l") AND fn_gt("col","v AND a ")',
    re = /(\w+\((".*?",".*?")\))\s+(AND)\s+(\w+\((".*?",".*?")\))/;
string = string.replace(re, "$1 || $4");

(ちなみに、||通常は「and」ではなく「or」論理演算子を意味します。)

プロのヒント: 可能であれば、遅延量指定子は避けてください。の代わりに.*?、 を使用します[^"]*。それははるかに高速です。

于 2012-08-24T14:16:57.077 に答える