我的目标是一个正则表达式公式根据一个字符返回一个字符串的块,如果这个字符串包含L1,那么它将只是一个块,如果找到L2,它将返回2个块,L3 = 3个块。 / p>
实施例
让我们假设我们有这个字符串
"L2N1N1"
我们希望获得2个字符串
"L2N1" and "L2N1N1"
另一个例子
"L3N1N1N2"
返回3个字符串
"L3N1" "L3N1N1" "L3N1N1N2"
我正在使用Ruby
答案 0 :(得分:3)
"L3N1N1N2".sub(/L(\d)(?:N\d)+/) do |m|
$1.to_i.times.map { |i| m[0..3+2*i] }.join(' ')
end
#⇒ "L3N1 L3N1N1 L3N1N1N2"