Uses a regular expression (RE) to search a string for a pattern, starting from a specified position. The search is case-sensitive.

It will return numeric if returnsubexpressions is false and a struct of arrays named "len", "match" and "pos" when returnsubexpressions is true.

reFind(reg_expression, string [, start] [, returnsubexpressions]) → returns any

Argument Reference

reg_expression string

string string

A string or a variable that contains one. String in which
to search.

start numeric
Default: 1

returnsubexpressions boolean
Default: false

True: if the regular expression is found, the first array
element contains the length and position, respectively,
of the first match.
If the regular expression contains parentheses that
group subexpressions, each subsequent array element
contains the length and position, respectively, of
the first occurrence of each group.
If the regular expression is not found, the arrays each
contain one element with the value 0.
False: the function returns the position in the string
where the match begins. Default.
  • true
  • false

scope string
Default: one

CF 2016+ * one: returns the first value that matches the regex.
* all: returns all values that match the regex.
  • one
  • all

Links more information about reFind

Sample code invoking the reFind function

This example uses reFind to locate an integer in a string, and returns the position of the integer in the string.

reFind("[0-9]+", "test 123!")

Expected Result: 6

Signup for cfbreak to stay updated on the latest news from the ColdFusion / CFML community. One email, every friday.

Fork me on GitHub