<br><br><div class="gmail_quote">On Tue, Feb 16, 2010 at 1:43 AM, Tzafrir Cohen <span dir="ltr">&lt;<a href="mailto:tzafrir.cohen@xorcom.com">tzafrir.cohen@xorcom.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div><div></div><div class="h5">On Mon, Feb 15, 2010 at 09:40:31AM -0700, Steve Murphy wrote:<br>
&gt; On Mon, Feb 15, 2010 at 8:25 AM, Lenz Emilitri &lt;<a href="mailto:lenz.loway@gmail.com">lenz.loway@gmail.com</a>&gt; wrote:<br>
&gt;<br>
&gt; &gt; Yes but in any case you can enter all of the strings that reasonably match<br>
&gt; &gt; - even if you have variable-length numbers, you will be able to determine<br>
&gt; &gt; that a valid number be between 5 and 15 characters - or likely 2 to 20, all<br>
&gt; &gt; numbers. A number of 156 characters is very likely to be a problem.<br>
&gt; &gt;<br>
&gt;<br>
&gt; This is probably a stupid idea, because it could only be implemented in<br>
&gt; trunk, and won&#39;t help with current implementations,<br>
&gt; and I suggested it a long time ago already when I did the fast pattern<br>
&gt; matching code, but I don&#39;t THINK it would be all that<br>
&gt; hard to offer SOME regex syntax in patterns to help reduce the impact of<br>
&gt; these kinds of problems.<br>
&gt;<br>
&gt; Like using:<br>
&gt;<br>
&gt; [incoming-from-voip]<br>
&gt; exten =&gt; _X\{7-10\},1,Dial(${EXTEN}@incoming-from-voip-old)<br>
&gt;<br>
&gt; instead of :<br>
&gt;<br>
&gt; [incoming-from-voip]<br>
&gt; exten =&gt; XXXXXXX,1,Dial(${EXTEN}@incoming-from-voip-old)<br>
&gt; exten =&gt; XXXXXXXX,1,Dial(${EXTEN}@incoming-from-voip-old)<br>
&gt; exten =&gt; XXXXXXXXX,1,Dial(${EXTEN}@incoming-from-voip-old)<br>
&gt; exten =&gt; XXXXXXXXXX,1,Dial(${EXTEN}@incoming-from-voip-old)<br>
&gt;<br>
&gt; I put the \&#39;s in front of the {}&#39;s because we probably wouldn&#39;t want to<br>
&gt; change the<br>
&gt; behavior of exact matching, and there&#39;s some precedent for using such stuff<br>
&gt; in some implementations of regex, where \&lt; matches the beginning of a word,<br>
&gt; etc.<br>
&gt;<br>
&gt; and, of course there would be the shorthand variants \{7-\} for seven or<br>
&gt; more; \{-10\} for 1-10.<br>
&gt; Some might argue 0-10. Whatever.<br>
&gt;<br>
&gt; I THINK this could be implemented in both the fast pattern matcher and the<br>
&gt; current slow one. I know it wouldn&#39;t be that bad to do in the fast pattern<br>
&gt; matcher.<br>
&gt; I hadn&#39;t really given the slow one (the current one) much thought.<br>
<br>
</div></div>I think it would be very useful. One small point:<br>
<br>
The &#39;.&#39; is short. This helps making it pupular. X\{1-\} is much less<br>
so.<br></blockquote><div><br>Very true, but the added syntax would not replace &#39;.&#39;. And they mean two<br>different things. X\{1-\} would mean one or more numbers, . means <br>any number of any character.<br><br>Heck, besides N\{2-4\}, Z\{3-7\}, I guess we could even do .\{2-100\}, which<br>
could mean &#39;match everything at the end of the string, but only if there&#39;s 2 to<br>100 of them&#39;, or something like that. Whatever is the most handy.<br> <br></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">

<br>
Another thing that I think would help: an equivalent of perl&#39;s \w:<br>
something similar to &#39;X&#39;, but also matches letters. This is syntactic<br>
sugar, but we need such sugar for readable dialplans.<br></blockquote><div><br>Could be done, but it ends up getting in the way of exact matching;<br>right now, using X,N,Z keeps you from exact matching those characters,<br>
(is there some escape mech in the syntax to let you say \NA\NCY? I <br>haven&#39;t checked). But, there&#39;s no reason we can&#39;t add other matching chars<br>for handy things.  A = alpha chars Y = alphanum chars, G = Graphical chars,<br>
whatever. We just have to watch those backslashes, because if we use them as<br>an escape to mean literals in some situations, and as a notation to mean a<br>special function in others, then it starts getting confusing real quick.<br>
But all this kind of thing Could Be Done.<br><br>murf<br> <br></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div class="im"><br>
--<br>
               Tzafrir Cohen<br>
icq#16849755              <a href="mailto:jabber%3Atzafrir.cohen@xorcom.com">jabber:tzafrir.cohen@xorcom.com</a><br>
+972-50-7952406           mailto:<a href="mailto:tzafrir.cohen@xorcom.com">tzafrir.cohen@xorcom.com</a><br>
<a href="http://www.xorcom.com" target="_blank">http://www.xorcom.com</a>  <a href="http://iax:guest@local.xorcom.com/tzafrir" target="_blank">iax:guest@local.xorcom.com/tzafrir</a><br>
<br>
--<br>
_____________________________________________________________________<br>
</div><div><div></div><div class="h5">-- Bandwidth and Colocation Provided by <a href="http://www.api-digital.com" target="_blank">http://www.api-digital.com</a> --<br>
<br>
asterisk-users mailing list<br>
To UNSUBSCRIBE or update options visit:<br>
   <a href="http://lists.digium.com/mailman/listinfo/asterisk-users" target="_blank">http://lists.digium.com/mailman/listinfo/asterisk-users</a><br>
</div></div></blockquote></div><br><br clear="all"><br>-- <br>Steve Murphy<br>ParseTree Corp<br><br>