在分隔符之间提取字符串

MId*_*hna 2 ruby regex

如何分隔符/多个分隔符之间获得子串?例如:

sample_string = "00990099"
some_method(sample_string, "9") 
=> ["00"]

sample_string = "00XXX00XX0X00X00"
some_method(sample_string, "X")
=> ["00", "0", "00"]
Run Code Online (Sandbox Code Playgroud)

我尝试使用split,但是有一个优雅的解决方案吗?

anu*_*ava 5

你需要一个环绕正则表达式,如下所示:

(?<=X)[^X]+(?=X)
Run Code Online (Sandbox Code Playgroud)

RegEx演示

在Ruby中,您可以使用string.scan(regex)获取所有匹配项