我正在寻找一个行为类似于matchall()但返回包含匹配索引而不是字符串的数组的函数?
eachmatch
将为您提供正则表达式匹配项的迭代器。
因此,通过列表理解,您可以执行此操作
[x.offset for x in eachmatch(r"[0-9]","aaaa1aaaa2aaaa3")]
或这个
map(x->getfield(x,:offset), eachmatch(r"[0-9]","aaaa1aaaa2aaaa3"))
甚至这个...
getfield.(collect(eachmatch(r"[0-9]","aaaa1aaaa2aaaa3")), [:offset])
全部返回:
3-element Array{Int64,1}: 5 10 15