If you are trying to match the dialed digits "*999*11#" then yes, the pattern you suggested below is not appropriate. Just putting special characters inside of [ and ] is not enough to change their meaning. The proper way to handle this is by doing what Covici suggested and use a \ (backslash) in front of the * characters. (The # char is not one of the special characters in PCRE, therefore it does not need a backslash.)

The best pattern for your example is:

^(\*999\*11#)$

That would match "*999*11#" and absolutely nothing else. If you need to be flexible on the digits that you match you could do something like this:

^(\*\d\d\d\*\d\d#)$

That would match * plus 3 digits plus * plus 2 digits. Example matches:
*123*45#
*876*99#
*333*33#

You could even grab the internal digit sequences and put them into $2 and $3:

^(\*(\d\d\d)\*(\d\d)#)$

Notice what the special vars contain by using this little table:

Dialed:   $1:       $2:     $3:
*123*45#    *123*45#  123     45
*876*99#    *876*99#  876     99
*333*33#    *333*33#  333     33

I strongly recommend that you try it out. Put this in your dialplan and try it out:

<extension name="tinkering with regexes">
  <condition field="destination_number" expression="^(\*(\d\d\d)\*(\d\d)#)$">
      <action application="log" data="INFO \$1 is $1"/>
      <action application="log" data="INFO \$2 is $2"/>
      <action application="log" data="INFO \$3 is $3"/>
  </condition>
</extension>

Try it out - make a bunch of calls and see what happens. Change the regex around and try dialing again. I promise you that once you start writing your own regexes - and occasionally breaking them in the process - you will learn them and use them to your advantage.

-MC

On Sat, Jun 2, 2012 at 3:11 AM, Samira Mh <saami_mh@ymail.com> wrote:
thanks so much for your reply,nut i think the below patter is true as well, 
^([*]999[*]11[#])$ 
is that true?



From: "covici@ccs.covici.com" <covici@ccs.covici.com>
To: FreeSWITCH Users Help <freeswitch-users@lists.freeswitch.org>
Sent: Saturday, June 2, 2012 2:18 PM
Subject: Re: [Freeswitch-users] regular expression ?

Just put a \ before each * and maybe the # as well and you should be
good to go.

Samira Mh <saami_mh@ymail.com> wrote:

> hi guys,
> it possible to match *999*11# in regular expression in freeswitch ?
> in the wiki the above example don't exis,
> plz help thanks
> ----------------------------------------------------
> Alternatives: