我正在尝试使用正则表达式从Ruby中的字符串中提取多个子字符串。
这是我的字符串:text.1.2.3.4.5
。
我想要的是与多个组匹配,如下所示:
text
.1
.2
.3
.4
.5
text
可以是任何单词字符。其余的必须是\.\d*
的组,但不能有。{1}}。所以这样的字符串:text
应该只与一个捕获的结果text
匹配。
这是我尝试的但它没有按预期工作。我只收到text
和最后一组.5
:
^(\w*)(?:(\.\d+)|$)*
答案 0 :(得分:3)
"text.1.2.3.4.5".scan(/\A\w+|\.\d*/)
# => ["text", ".1", ".2", ".3", ".4", ".5"]
答案 1 :(得分:0)
答案 2 :(得分:0)
你的意思是?
> "text.1.2.3.4.5".scan(/([a-zA-Z]+|\.\d+)/)
=> [["text"], [".1"], [".2"], [".3"], [".4"], [".5"]]
答案 3 :(得分:0)
这似乎有效(\w*)(\.\d+)