Michael,

I liked "(\*|\d{6})" also but when entered in:

agent_id = session:playAndGetDigits(1, 3, 2, 10000,'#', 'c:/DictationProject/audio/Validating.wav', '', "(\*|\d{6})");

Creates the error:

2009-03-27 14:05:36 [ERR] switch_regex.c:184 switch_regex_match_partial() Regula
r Expression Error expression[(*|d{6})] error[nothing to repeat] location[1]

The escape characters seem to disappear and FS attempts to use the, /* an asterisk character, as * a metecharacter.

Bob


On Fri, Mar 27, 2009 at 2:02 PM, Michael Collins <msc@freeswitch.org> wrote:
2009/3/27 Robert Clayton <rjcajax@gmail.com>:
> As I understand it everything entered in square brackets(a character class)
> is literal. In parentheses it is read as a metacharacter.

Character classes have their own rules. I don't recommend using them
unless you know precisely what you are doing. I like Brian's regex of
"(\*|\d{6})"

In brackets you have interesting things, like dashes not always being
dashes and a leading caret meaning negation.

[^A-Z]  <== what does this mean? ;)

In any case, check the regular expressions page on the wiki for more
online resources.
-MC