【发布时间】:2021-09-08 10:47:12
【问题描述】:
我在转义特殊字符时遇到问题。
我正在使用带有函数REGEXP_SUBSTR 的 Phoenix SQL
带参数(stringTerm、patternString、startInt)
这是我的问题:
| Case | Original String | String that I want to get |
|---|---|---|
| 1 | 20000000001^11111111^15817001969^1 |
11111111 |
| 2 | 20000000001^11111111^15817001969^1 |
15817001969 |
这是目前为止我可以得到的,
SELECT REGEXP_SUBSTR('20000000001^11111111^15817001969^1','(\^|$)\w+')
但是输出看起来很糟糕:
output: ^11111111
谁能帮我解决上述问题并帮助我解决问题?
非常感谢大家!
【问题讨论】:
-
您的 SQL 版本是什么(例如 Oracle、MySQL、Postgres 等)?
-
您在正则表达式中使用反斜杠转义特殊字符。您可能需要将其加倍,因为这也是 SQL 转义字符。
-
@TimBiegeleisen 我正在使用 Phoenix for SQL
-
@Barmar 正如我之前在上一条评论中提到的,查询效果不佳,我试图传递 2 '^' 字符,你的意思是我需要加倍反斜杠吗?
-
将代码放在问题中,而不是注释中,以便您可以将其格式化。
标签: sql regex regex-lookarounds phoenix