You can just pass a Regex object to filter:

filter(r"a.*b.*c"i, map(chomp,open(readlines,"/usr/share/dict/words")))

This gives all dictionary words containing "a", "b" and "c" in order but
not contiguous.

On Thu, Dec 3, 2015 at 3:29 PM, David P. Sanders <[email protected]>
wrote:

>
>
> El jueves, 3 de diciembre de 2015, 13:54:01 (UTC-6), Erik Schnetter
> escribió:
>>
>> You are looking for `filter`:
>>
>> filter(line->match(r"parameter", line), rLines)
>>
>
> Apparently this needs to be
>
> filter(line->ismatch(r"3", line) != nothing, rLines)
>
> (replace "match" with "ismatch" to get a Boolean expression instead of a
> RegexMatch object).
>
>
>>
>> -erik
>>
>> On Thu, Dec 3, 2015 at 2:52 PM, Jason McConochie <[email protected]>
>> wrote:
>>
>>> Is there grep for an Array of AbstractStrings?  See code below
>>>
>>>
>>> # A. Read a file into memory (nLines pre-determined)
>>>
>>> fID=open(fName)
>>>
>>> iLine=0;
>>>
>>> rLines=Array(ASCIIString,nLines);
>>>
>>> while !eof(fID)
>>>
>>>   iLine+=1
>>>
>>>   rLines[iLine]=readline(fID)
>>>
>>> end
>>>
>>>
>>> # B. Find all strings in rLines with "parameter"
>>>
>>> ???? Is something like this possible?
>>>
>>> indices=grep(rLines,r"parameter")
>>>
>>>
>>>
>>>
>>
>>
>> --
>> Erik Schnetter <[email protected]>
>> http://www.perimeterinstitute.ca/personal/eschnetter/
>>
>

Reply via email to