Search::QueryParser supports quoted constructs :) But if you want your regex see Regexp::Grammars::Common::String or Regexp::Common
use YAPE::Regex::Explain; print YAPE::Regex::Explain->new( qr/(?:(?:\")(?:[^\\\"]*(?:\\.[^\\\"]*)*)(?:\")|(?:\')(?:[^\\\']*(?:\\. +[^\\\']*)*)(?:\')|(?:\`)(?:[^\\\`]*(?:\\.[^\\\`]*)*)(?:\`))/ )->explain; __END__ The regular expression: (?-imsx:(?:(?:\")(?:[^\\\"]*(?:\\.[^\\\"]*)*)(?:\")|(?:\')(?:[^\\\']*( +?:\\.[^\\\']*)*)(?:\')|(?:\`)(?:[^\\\`]*(?:\\.[^\\\`]*)*)(?:\`))) matches as follows: NODE EXPLANATION ---------------------------------------------------------------------- (?-imsx: group, but do not capture (case-sensitive) (with ^ and $ matching normally) (with . not matching \n) (matching whitespace and # normally): ---------------------------------------------------------------------- (?: group, but do not capture: ---------------------------------------------------------------------- (?: group, but do not capture: ---------------------------------------------------------------------- \" '"' ---------------------------------------------------------------------- ) end of grouping ---------------------------------------------------------------------- (?: group, but do not capture: ---------------------------------------------------------------------- [^\\\"]* any character except: '\\', '\"' (0 or more times (matching the most amount possible)) ---------------------------------------------------------------------- (?: group, but do not capture (0 or more times (matching the most amount possible)): ---------------------------------------------------------------------- \\ '\' ---------------------------------------------------------------------- . any character except \n ---------------------------------------------------------------------- [^\\\"]* any character except: '\\', '\"' (0 or more times (matching the most amount possible)) ---------------------------------------------------------------------- )* end of grouping ---------------------------------------------------------------------- ) end of grouping ---------------------------------------------------------------------- (?: group, but do not capture: ---------------------------------------------------------------------- \" '"' ---------------------------------------------------------------------- ) end of grouping ---------------------------------------------------------------------- | OR ---------------------------------------------------------------------- (?: group, but do not capture: ---------------------------------------------------------------------- \' ''' ---------------------------------------------------------------------- ) end of grouping ---------------------------------------------------------------------- (?: group, but do not capture: ---------------------------------------------------------------------- [^\\\']* any character except: '\\', '\'' (0 or more times (matching the most amount possible)) ---------------------------------------------------------------------- (?: group, but do not capture (0 or more times (matching the most amount possible)): ---------------------------------------------------------------------- \\ '\' ---------------------------------------------------------------------- . any character except \n ---------------------------------------------------------------------- [^\\\']* any character except: '\\', '\'' (0 or more times (matching the most amount possible)) ---------------------------------------------------------------------- )* end of grouping ---------------------------------------------------------------------- ) end of grouping ---------------------------------------------------------------------- (?: group, but do not capture: ---------------------------------------------------------------------- \' ''' ---------------------------------------------------------------------- ) end of grouping ---------------------------------------------------------------------- | OR ---------------------------------------------------------------------- (?: group, but do not capture: ---------------------------------------------------------------------- \` '`' ---------------------------------------------------------------------- ) end of grouping ---------------------------------------------------------------------- (?: group, but do not capture: ---------------------------------------------------------------------- [^\\\`]* any character except: '\\', '\`' (0 or more times (matching the most amount possible)) ---------------------------------------------------------------------- (?: group, but do not capture (0 or more times (matching the most amount possible)): ---------------------------------------------------------------------- \\ '\' ---------------------------------------------------------------------- . any character except \n ---------------------------------------------------------------------- [^\\\`]* any character except: '\\', '\`' (0 or more times (matching the most amount possible)) ---------------------------------------------------------------------- )* end of grouping ---------------------------------------------------------------------- ) end of grouping ---------------------------------------------------------------------- (?: group, but do not capture: ---------------------------------------------------------------------- \` '`' ---------------------------------------------------------------------- ) end of grouping ---------------------------------------------------------------------- ) end of grouping ---------------------------------------------------------------------- ) end of grouping ----------------------------------------------------------------------
In reply to Re^2: Help with search query
by Anonymous Monk
in thread Help with search query
by htmanning
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |