找到几个相邻的相同数字

Find few adjacent identical numbers

你能帮帮我吗? 我需要一个正则表达式来拆分像

这样的字符串
"11231114" 

['11', '2', '3', '111', '4']

在 Javascript 你可以做:

var m = "11231114".match(/(\d)*/g)
//=> ["11", "2", "3", "111", "4"]

您可以在您使用的任何 language/tool 中使用类似的方法。

方法是使用 (\d) 捕获数字,然后使用 *.

匹配相同的所有反向引用

你可以这样做,

> str = "11231114"
=> "11231114"
> str1 = str.gsub(/(?<=(\d))(?!)/, "*")
=> "11*2*3*111*4*"
> str1.split('*')
=> ["11", "2", "3", "111", "4"]

您可以按如下方式实施 String#scan

"11231114".scan(/((\d)*)/).map(&:first) 
#=> ["11", "2", "3", "111", "4"]

您可以将块传递给 String#scan 将匹配组推送到数组。

matches = []
"11231114".scan(/((\d)*)/) do |n,r| matches << n end

Ruby中有slice_when 2.2:

"11231114".chars.slice_when { |x, y| x != y }.map(&:join)