QUERY

From STX Wiki
Jump to navigation Jump to search

The QUERY command, although similar to the FIND command, offers the programmer more choice in how to search. It returns the zero-based index of the first entry matching the search criteria, or an empty string if the search criteria were not matched.

#pos := QUERY [ /i ] [ /t ] [ /m=matchtype ] /- table startentry field querystring
#pos := QUERY /m=find table startentry cepr [ copr cexpr ... ] [ /t ] // works like SET table FIND
matchtype
one of the keywords regular, wildcard, substring, full, and find.
table
the table to search.
startentry
the zero-based index of the entry at with which to start the search.
field
the table field to search.
querystring
the string to search for.
cexpr, copr cexpr
see SET table FIND.
/i
The search will be case insensitive (by default, it is case sensitive).
/t
only tagged table entries will be considered.
/m=regular
querystring will be considered a POSIX regular expression.
/m=wildcard
querystring will be considered an STx wildcard expression (just like FIND).
/m=substring
All characters in querystring will be considered autonomous, i.e. naming themselves. The FIND command will find the first entry of which querystring is a substring.
/m=full
All characters in querystring will be considered autonomous, i.e. naming themselves. The FIND command will find the first entry whose content is exactly identical to querystring (with the possible exception of case).
/-
You should always use the /- "non-option" option before the first argument in order not to cause arguments to be mistaken for options.