使用正则表达式拆分字符串时跳过逗号分隔字符串中的空格

Posted

技术标签:

【中文标题】使用正则表达式拆分字符串时跳过逗号分隔字符串中的空格【英文标题】:Skip White spaces in a comma separated string when using regular expression to split the string 【发布时间】:2017-01-13 04:12:15 【问题描述】:

我正在使用这个 [[:alnum:]]0,, 正则表达式通过逗号 3,5,7 测试分割这个字符串,并得到以下结果。

比赛 1 : 3, 比赛 2 : 5, 第 3 场比赛:测试,

但匹配 3:应该是“7 测试”, 如何更改此抑制以跳过空白并获取正确的值。

【问题讨论】:

你想要匹配中的逗号吗?为什么 3 没有逗号,而其他的有? 字母、数字、逗号和空格是唯一可能出现在输入字符串中的字符吗?或者还有其他角色——如果有,你需要用它们做什么? 【参考方案1】:
select regexp_substr('3,5,7 test,','[^,]+', 1, level) from dual
connect by regexp_substr('3,5,7 test,', '[^,]+', 1, level) is not null;

【讨论】:

【参考方案2】:

此正则表达式捕获逗号之前的任何字符(包括逗号),直到到达逗号为止。

[^,]*,

【讨论】:

以上是关于使用正则表达式拆分字符串时跳过逗号分隔字符串中的空格的主要内容,如果未能解决你的问题,请参考以下文章

正则表达式拆分逗号前面没有特定单词

带有逗号分隔符的数字的正则表达式验证

Java Regex - 拆分逗号分隔列表,但在括号内排除逗号

在Python中使用多个分隔符拆分字符串[重复]

拆分分隔字符串并删除转义序列[重复]

使用正则表达式拆分简单的 JSON 结构