错误:正则表达式无效:量词操作数无效

时间:2016-03-18 11:10:53

标签: regex postgresql pattern-matching match postgresql-9.4

我正在尝试编写正则表达式以从以下文本中获取“url”:

SELECT (SELECT m[1] FROM regexp_matches(text, '^\[\!\[^*\]\(^ *\)\]\(((^*))') AS r(m) LIMIT 1) FROM texts;

使用以下postgresql查询:

ERROR:  invalid regular expression: quantifier operand invalid

执行上述查询时出现以下错误:

  'escapeMarkup' => new JsExpression('function (markup) { return markup; }'),
  'templateResult' => new JsExpression('function(address) { return address.name; }'),
  'templateSelection' => new JsExpression('function (address) { return address.name; }'),

1 个答案:

答案 0 :(得分:0)

如果你只想要最终的" url",那么这个表达式可以解决问题:

.+\)\]\((\S+)\)

丢弃所有内容,包括文字)](,然后捕获所有文字)

SELECT regexp_matches(text, '.+\)\]\((\S+)\)')[1] AS m
FROM texts
LIMIT 1;