find-all query

Started by cormullion, October 18, 2006, 03:13:55 AM

Previous topic - Next topic

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...

Sammo

#1
How about something like



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

("IS" "is" "IS")



in which [expr] = $1.

cormullion

#2
Right. Although it seems like the $1 is just a filler, until you need the option...



> (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]

Lutz

#3
... or if there are no parenthesized sub-expressions:


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


$0 is always the entire expression found, without any processing.



Lutz

cormullion

#4
OK, thanks!