instrx ( haystack_string_expression , regular_expression )
instrx ( haystack_string_expression , regular_expression , start_expression )
returns integer_expression
Check to see if the text represented by the regular expression regular_expression is contained in the string haystack_string_expression. If it is, then this function will return the index of starting character of the first place where needle_string_expression occurs. Otherwise, this function will return 0.
You may optionally specify a starting location for the search to begin start_expression. If the start is 1 or greater the search will begin from the specified character from the start. If the start is < 0 then the search will begin from the nth character from the end. The search will ALWAYS look forward.
String indices begin at 1.
print instrx("HeLLo", "[Ll]o") print instrx("Hello, Kitti","[Ii]",10)
will display
4 12
instrx can be used to test if a string matches a regular expression. In for following example the function isnumber returns true if the string passed is in for format of a floating point number and false if not.
function isnumber(s$) # return true if a number - false of not return instrx(s$,"^-?\d+\.?\d*$") <> 0 end function
By default the nature of regular expressions is “greedy”. This behaviour can be changed using the RegexMinimal statement.
0.9.6.56 | New To Version |
1.99.99.53 | Added start position < 0 |