我在使用Ruby中的正则表达式在多个分隔符上拆分字符串时遇到了困难,这些分隔符是:
- , - / - & - and
每个分隔符两侧都可以有任意数量的空格,但每个项都可能包含一个有效的空格。我一直在测试的一个很好的例子是字符串
我最接近的是
请注意,这已经非常接近了,我只需要在每个项上修剪即可,但如此接近并且知道它可以完成使我有点发疯。希望有人能帮我保持清醒。
- , - / - & - and
每个分隔符两侧都可以有任意数量的空格,但每个项都可能包含一个有效的空格。我一直在测试的一个很好的例子是字符串
1, 2 /3 and 4 12
我想要的是类似于"1, 2 /3 and 4 12".split(regex) =>["1", "2", "3", "4 12"]
的结果。我最接近的是
/\s*,|\/|&|and \s*/
,但这会生成["1", " 2 ", "3 ", "4 12"]
而不是所需的结果。请注意,这已经非常接近了,我只需要在每个项上修剪即可,但如此接近并且知道它可以完成使我有点发疯。希望有人能帮我保持清醒。
?:
,我想这就是问题所在。没有?:
似乎不能返回正确的结果。谢谢,现在我需要去查一下?:
是什么意思。 - Apeiron?:
只是使组成为非捕获型。在这种情况下,这意味着括号匹配的部分不会出现在split
的结果中。 - sepp2k