regexp用逗号和空格分割字符串,但忽略带连字符的单词?

rst*_*rim 13 ruby regex

我需要一个正则表达式来用逗号和/或空格分割字符串,但忽略带连字符的单词 - 最好的方法是什么?

所以,例如 - 我喜欢这个......

"foo bar, zap-foo, baz".split(/[\s]+/)
Run Code Online (Sandbox Code Playgroud)

回来

["foo", "bar", "zap-foo", "baz"]
Run Code Online (Sandbox Code Playgroud)

但是当我这样做时它包括这样的逗号......

["foo", "bar,", "zap-foo,", "baz"]
Run Code Online (Sandbox Code Playgroud)

Bri*_*ung 34

"foo bar, zap-foo, baz".split(/[\s,]+/)


Ada*_*ire 5

您可以指定一个字符类,该字符类表示要拆分非连字符或单词字符的内容:

"foo bar, zap-foo, baz".split(/[^\w-]+/)
Run Code Online (Sandbox Code Playgroud)

或者,您可以使用字符类(例如Ocson提供的字符类)在空格和逗号上进行拆分.