我想把这样的线分开:my_string = "I want to split this (these should stay together) correctly"结果如下:["I", "want", "to", "split", "this", "(these should stay together)", "correctly"]我试过这个:my_string.split(/(?=[^\(]){1,} (?=[^\)]){1,}/)但是圆括号内的元素被分开了。我怎样才能做到这一点? 最佳答案 split是错误的工具。使用。my_string.scan(/\([^)]*\)|\S+/)# => ["I", "want", "to", "split", "this", "(these should stay together)", "correctly"]如果平衡括号可以与要组合在一起的其他非空格字符相邻,则可能需要此括号,它的工作原理更为普遍:my_string.scan(/(?:\([^)]*\)|\S)+/)通常,当分隔符可以用简单模式表示时,请使用scan。当内容可以用简单的模式表示时,使用split。关于ruby - 我可以使用什么正则表达式将字符串拆分为单词,但将短语放在圆括号中在一起?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35273247/