Author Topic: Regex issue  (Read 1683 times)

link

  • Community Member
  • Posts: 55
  • Hero Points: 3
Regex issue
« on: August 25, 2014, 07:04:36 pm »
I have a regular expression that has differing behavior between v18 and V19 B1.

Code: [Select]
Test Cases:
TestFn(Keyword, keyword) x
Test2(Akey, Bkey)x

Regular Expression:  Unix
\:b+[A-Za-z0-9_]+.*?\([A-Za-z0-9]+,\:b+([A-Za-z0-9]+)\)\:b*

Multiline mode is not checked.
Case-sensitive is checked.

In v18, it behaves as I would expect and matches both lines (excluding the trailing 'x').  In v19 B1 it only matches the first line, which has a trailing space, despite the fact that the \:b* on the end shouldn't require a trailing space.

Lee

  • SlickEdit Team Member
  • Senior Community Member
  • *
  • Posts: 1299
  • Hero Points: 130
Re: Regex issue
« Reply #1 on: August 25, 2014, 07:42:39 pm »
\:b+ and \:b* are problematic because there already is a one or more quantifer in \:b expression (\:b expands to "[ \t]+"), so appending another + or * can lead to exponential lengthy searches in some cases and appear to lockup SlickEdit.  In this beta, some code was added to strip off the extra quantifier to prevent the user from doing this, but could be improved on in this situation.  I will see about getting this fixed for next beta drop.