正则表达式-匹配范围之间的字符串


Regular expression - match strings between range

我有一个字符串,看起来像这样:

UPDATE id = :id, password = :password;

我想匹配这个字符串:

id = :id, password = :password

我写了这个regexp:

UPDATE's('S+'s*='s*'S+)'s

但是它只匹配

id = :id,

我也试过这个regexp:

UPDATE's('S+'s*='s*'S+)'s;

但是它不能识别我想要匹配的范围

我如何以正确的方式定义范围来匹配我想要的?

如果输入字符串总是类似的UPDATE语句:

UPDATE's*'K|([^;]+)

现场演示