匹配特定字符之前和之后的所有数字,不包括字符



我正在SQL Alchemy中构建两个混合表达式,我想选择I)之前的所有数字和ii)字符串中连字符之后的所有数字。

给定字符串6-12(1),我想分别输出612

根据这个答案,我想我需要r"(d+)-"为I)所以:

@digits_before.expression
def digits_before(cls):
return func.regexp_substr(cls.string_field, r"(d+)-")

但是,这将返回所讨论记录的6-

查看生成正则表达式字符串的SQL减少到'(d+)-'-这可能是为什么?

我需要使用的正确的两个正则字符串是什么?

提前感谢。

似乎这个regexp将捕获两个数字:

(d+)-(d+)

这只获得第一个数字,但验证是否有第二个:

(d+)-d+

亦然:

d+-(d+)

相关内容

  • 没有找到相关文章

最新更新