Ruby正则表达式匹配不带前导逗号的空格

Ruby正则表达式匹配不带前导逗号的空格,ruby,regex,Ruby,Regex,如何匹配没有前导逗号的空格 我的使用案例是,我想在空格中拆分一个不带前导逗号的字符串,例如,“id 10,11”您需要: 可以使用正则表达式 r = /(?<!,) / 如果希望在一个或多个不带逗号的空格上打断,请使用 r = /(?<!,) +/ "fe, fi, fo\nand fum".split r #=> ["fe, fi, ", "fo\nand", "fum"] r = /(?<!,)\s+/ "fe, fi, fo\nand fum

如何匹配没有前导逗号的空格

我的使用案例是,我想在空格中拆分一个不带前导逗号的字符串,例如,
“id 10,11”

您需要:


可以使用正则表达式

r = /(?<!,) /
如果希望在一个或多个不带逗号的空格上打断,请使用

r = /(?<!,) +/
"fe, fi,     fo\nand fum".split r
  #=> ["fe, fi, ", "fo\nand", "fum"]
r = /(?<!,)\s+/
"fe, fi,     fo\nand fum".split r
  #=> ["fe, fi, ", "fo", "and", "fum"]

不需要正则表达式,只需拆分两次:

"id 10, 11".split(",").first.split #=> ["id", "10"]

没有前导逗号?您可以
string.split(%r{\s})
是的,因此基本上对于字符串
“ID10,11”
我只关心“ID10”。拆分后,我将得到
[“id”,“10”]
Josh Brody,它会在每个空格上拆分:[“id”,“10”,“11”]如果
后面有两个空格怎么办?它应该在第二个空格上分开吗?另外,请参见。你的问题太不清楚了。请解释给定示例字符串的预期输出,以及为什么它应该是这样。如果不知道您希望得到什么作为输出,这是非常混乱的措辞。而且你还没有试图解决这个问题,所以我投票决定关闭。如果你只想
=>[“id”,“10”]
r = /(?<!,) +/
"fe, fi,     fo\nand fum".split r
  #=> ["fe, fi, ", "fo\nand", "fum"]
r = /(?<!,)\s+/
"fe, fi,     fo\nand fum".split r
  #=> ["fe, fi, ", "fo", "and", "fum"]
r = /(?<!,)\s+/
" fe, fi,     fo\nand fum ".split r
  #=> ["", "fe, fi, ", "fo", "and", "fum"]
" fe, fi,     fo\nand fum ".lstrip.split r
  #=> ["fe, fi, ", "fo", "and", "fum"]
r = /(?<=[^,])\s+/
" fe, fi,     fo\nand fum ".split r
  #=> [" fe, fi, ", "fo", "and", "fum"]
"id 10, 11".split(",").first.split #=> ["id", "10"]