1

Postgresql 9.1列にこれがある場合:

foo foo <th id="ddd"> foo foo <th id="www"> foo

そして、私はそれをこれに更新したい:

foo foo <th> foo foo <th> foo

regex_replaceを試しましたが、成功しませんでした。

4

1 に答える 1

1

次のようなテーブルがあると仮定します。

CREATE TABLE table1
(
  a character varying NOT NULL,
  ...
)

次のregexp_replaceを使用できます。

update table1 set a = regexp_replace(a, '(.*?)<(\w+)\s+.*?>(.*)', '\1<\2>\3', 'g');

'g'フラグは、最初のパターンだけでなく、一致するすべてのパターンを置き換えることを示します。

この入力で:

foo foo <th id="ddd"> foo foo <th id="www"> foo<div id="hey">

次の出力が表示されます。

foo foo <th> foo foo <th> foo<div>
于 2012-09-02T11:38:22.587 に答える