On Saturday, December 23, 2023 at 2:35:52 PM UTC-8 Tim Chase wrote:

I was looking for something similar to Python's re.findall()/finditer() 
function to answer a question on Reddit[1] but was surprised I 
couldn't find anything in 

:help function-list 

The general intent would be to take an input string and return a 
List containing all the sub-strings matching a pattern like 

let matches=findall('amwenxipyuqz', '[aeiou]') 

would set matches to 

['aw', 'en', 'ip', 'uq'] 

I was able to cobble together a hack-job in this case, but I'd hoped 
to be able to do something like 

:let a=[] | g/#\w\+/call extend(a, findall(getline('.'), @/)) 

Does such a function exist and I just missed it? 

Thanks! 

-tim 

[1] 
https://www.reddit.com/r/vim/comments/18pcd84/the_vim_way/kenedxq/ 


[Retrying.. as my first attempt to post did not seem to go anywhere. 
Apologies if this is a repeat]

It looks like substitute() is the closest to what you want to achieve. 
Perhaps you can add submatch() to get the result appended to the list. 
Something like this in mind:
   :let a=[]|g/#\w\+/call substitute(getline('.'), @/, '\=extend(a, 
[submatch(0)])', 'g')

Regards,
-Arun 

-- 
-- 
You received this message from the "vim_use" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups 
"vim_use" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/vim_use/803cdfe5-8ca4-44ba-850c-d3a81985ca7an%40googlegroups.com.

Reply via email to