在Ruby中用正则表达式拆分字符串

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在Ruby中用正则表达式拆分字符串相关的知识,希望对你有一定的参考价值。

我需要用括号外的逗号分隔字符串。我有这个字符串:

'a,b,c,d[a,b,c[a,b]],e'

我的分裂需要返回:

['a', 'b', 'c', 'd[a,b,c[a,b]]', 'e']

我怎样才能做到这一点?

答案
'a,b,c,d[a,b,c[a,b]],e'
.scan(/(?:[[^]]*]|[^,])+/)
# => ["a", "b", "c", "d[a,b,c[a,b]]", "e"]

'a,[a][b],e'
.scan(/(?:[[^]]*]|[^,])+/)
# => ["a", "[a][b]", "e"]

以上是关于在Ruby中用正则表达式拆分字符串的主要内容,如果未能解决你的问题,请参考以下文章

正则表达式拆分和忽略括号

C# 正则表达式拆分为 Java 模式拆分

如何在Python中的正则表达式上拆分字符串[重复]

如何在 ruby​​ 中使用 utf8 的正则表达式

Ruby:正则表达式中的十六进制

正则表达式将字符串拆分为 char 但具有最大大小