我有一个字符串:
'my_array1: ["1445","374","1449","378"], my_array2: ["1445","374", "1449","378"]'
我需要匹配my_array2: [...]
中的所有数字组,并计算其中有多少位数。
我需要使用正则表达式和ruby MatchData
执行类似的操作string = 'my_array1: ["1445","374", "1449","378"], my_array2: ["1445","374", "1449","378"]'
matches = string.match(/my_array2\:\s[\[,]\"(\d+)\"/)
count_matches = matches.size
预期结果应为4。 这样做的正确方法是什么?
答案 0 :(得分:0)
如果您确保my_array2
的内容始终为数字,则可以简单地使用拆分两次。首先,您将my_array2: ["
拆分,然后按,
拆分。这应该会为您提供所需的物品数量。
如果您无法保证,仍然可以按my_array2
拆分而不是再次拆分,则使用"\d+"
(或"\d+(\.\d+)?
等模式,如果您有浮点值)并计算。
表达式的示例可用here。