Page 1 of 1

find-all query

Posted: Wed Oct 18, 2006 10:13 am
by cormullion
With find-all, how do I specify an option without specifying an expression:

(find-all str-pattern str-text [expr] [int-option])

I want to find all the valid numbers in a string, so want to specify some options such as case-insensitive... But I don't want to process anything...

Posted: Wed Oct 18, 2006 2:17 pm
by Sammo
How about something like

> (find-all "(is)" "newLISPisNEWLISP" $1 1)
("IS" "is" "IS")

in which [expr] = $1.

Posted: Wed Oct 18, 2006 3:18 pm
by cormullion
Right. Although it seems like the $1 is just a filler, until you need the option...

Code: Select all

> (find-all "is" "newLISP is cool, is it")
("is" "is")
> (find-all "is" "newLISP is cool, is it" $1 0)
("is" "is")
> (find-all "is" "newLISP is cool, is it" $1 1)
("is" "is" "is")
[/code]

Posted: Wed Oct 18, 2006 3:18 pm
by Lutz
... or if there are no parenthesized sub-expressions:

Code: Select all

(find-all "is" "newLISPisNEWLISP" $0 1)
=> ("IS" "is" "IS")
$0 is always the entire expression found, without any processing.

Lutz

Posted: Wed Oct 18, 2006 5:10 pm
by cormullion
OK, thanks!