------- You are receiving this mail because: ------- You are on the CC list for the bug.
http://bugs.exim.org/show_bug.cgi?id=1203 --- Comment #5 from Steve Andrews <[email protected]> 2012-01-27 21:08:30 --- Hi Zoltan, Thanks for the reply. It's certainly true that C has poor string representation. On the other hand, C is a sufficiently low level language that it can do anything; it's just not necessarily easy to do it. For item (2), you wrote: "2) I feel the major issue here is capturin brackets. a&(b) -> a(b)|(b)a but those capturing brackets should be the same group. Thus it surely needs parser modifications. And choosing & sign for this operator is somewhat strange since it usually means 'and'. Btw how would you define /a&b&c/ and /a&(b&c)/ ?" Here, I think that an ampersand is both the sensible operator for this use, and is well-defined. It's sensible because the interpretation of abc&def is that both abc AND def must be in the string, but either order is allowed. The pattern a&b&c should match any permutation of a, b, and c, which are abc, acb, bca, bac, cab, and cba. Also, the pattern a&(b&c) should match abc, acb, bca, and cba. Of course, I realize that introducing a new operator at this point would break a lot of existing code, so I can't envision it really happening. Nevertheless, I think that it would be a powerful addition to the language, and one which is very much within the current design philosophy. -Steve On Fri, Jan 27, 2012 at 11:54 AM, Zoltan Herczeg <[email protected]>wrote: > ------- You are receiving this mail because: ------- > You reported the bug. > > http://bugs.exim.org/show_bug.cgi?id=1203 > > Zoltan Herczeg <[email protected]> changed: > > What |Removed |Added > > ---------------------------------------------------------------------------- > CC| |[email protected] > > > > > --- Comment #4 from Zoltan Herczeg <[email protected]> 2012-01-27 19:54:34 > --- > Just my two cents: > > 1) The major problem here is that C has no string representation at all. I > don't exactly know any portable way to do string manipulations in C. > > 2) I feel the major issue here is capturin brackets. a&(b) -> a(b)|(b)a but > those capturing brackets should be the same group. Thus it surely needs > parser > modifications. And choosing & sign for this operator is somewhat strange > since > it usually means 'and'. Btw how would you define /a&b&c/ and /a&(b&c)/ ? > > > -- > Configure bugmail: http://bugs.exim.org/userprefs.cgi?tab=email > -- Configure bugmail: http://bugs.exim.org/userprefs.cgi?tab=email -- ## List details at https://lists.exim.org/mailman/listinfo/pcre-dev
