Scott E Robinson <[EMAIL PROTECTED]> wrote:
> 
> [...] I wonder if there's an easy way to keep the following 
> regular expression from matching if the string in the regex 
> is null:
> 
> $_ = ":B000:L520:M260:M:88:8:M602:";
> $string_to_match="whatever";
> $count = () = /\b($string_to_match)\b/g;
> 
> If $string_to_match is null, whatever's in $_ matches it -- and 
> for some reason i don't understand it matches twice for every 
> colon-delimited piece of $_, though that hardly matters.

Since \b and the empty parens are both zero-width, the expression
will match the beginning and end of each "word".

Put another way, these are all more or less equivalent

  /\b/
  /\b()\b/
  /\b\b\b\b\b\b/

> Is there an easy way to keep the null string from matching 
> anything?  It would have saved me an evening if I'd known 
> about it.

Easier to test $string_to_match before using it in the regex.

  if ($string_to_match) {
    $count = ...
  }

-- 
Steve

-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to