SQL Regex - 选择“/”之后的所有内容并拆分为数组

Posted

技术标签:

【中文标题】SQL Regex - 选择“/”之后的所有内容并拆分为数组【英文标题】:SQL Regex - Select everything after '/' and split into array 【发布时间】:2017-09-08 22:11:55 【问题描述】:

我必须编写一个 HSQLDB 查询,将这个字符串拆分为 '/'

/2225/golf drive/#305/Huntsville/AL/1243

这就是我所在的地方

select REGEXP_SUBSTRING_ARRAY(Terms, ''/[a-zA-Z0-9]*'') as ARR from Address

这是给我的

/2225, /golf, /, /Huntsville, /AL, /1243 - (Missing "#305" and "drive" in second split)

如何修改正则表达式,使其包含“/”之后的所有内容并给我这个结果

/2225, /golf drive, /#305, /Huntsville, /AL, /1243

【问题讨论】:

【参考方案1】:

在这种情况下,为什么不能使用/[a-zA-Z0-9, #]* 正则表达式?这似乎对你的目标很有帮助。

我已经检查过了,它适用于我:https://regex101.com/r/8bJQEk/1

PS 这个正则表达式/\/([^\/]*)/g 可以帮助拆分所有内容。小心斜线)。 Example

【讨论】:

但这仅适用于#。我可以得到字符串中的任何特殊字符 @keanu 如果你想拆分任何东西,你可以使用它/([^/]*) regexp。它可以工作here 简洁优雅。谢谢丹尼斯莱特

以上是关于SQL Regex - 选择“/”之后的所有内容并拆分为数组的主要内容,如果未能解决你的问题,请参考以下文章

RegEx JS-如何在字符串之后和之前/或结尾处获取所有内容[重复]

Regex:选择第一对下划线之间的所有内容

SQL 选择字符后的所有内容

SQL Regex 在第二个和第三个正斜杠之间选择字符串

SQL Server Regex - 查找单个字符实例

如何将宽度和高度大小与 Regex 表达式匹配并在 SQL 或 C# 中使用 Sort By 来构建下拉列表?