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: