in reply to Re^2: regular expression not matching
in thread regular expression not matching

how it is to be changed to take care of '_' and '-' ?

Can you answer my question from Re: regular expression not matching?

Replies are listed 'Best First'.
Re^4: regular expression not matching
by ghosh123 (Monk) on Mar 13, 2013 at 06:46 UTC

    Yes , I am not able to figure out. All I understand is (\w+) is not matching Galaxy-FP or so.
    Please help me with the solution.

      Yes , I am not able to figure out.

      Well, I was thinking about the second question , can you explain what (\w+\_\-) means?

Re^4: regular expression not matching
by ghosh123 (Monk) on Mar 13, 2013 at 06:59 UTC

    Well, I told you, that was wrongly pasted. I was trying with something and did not clean my code before pasting. So it was.
    Basically that means some word followd by a '_' and '-'.
    But yes, that is not going to work , it was wrong.

      Basically that means some word followd by a '_' and '-'.

      Well actually no it doesn't, see perlintro#More complex regular expressions

      item 8. matches a single character in the given set, so it matches a single word character or dash, but only one character

      if you want to match it more than once, you have to use a quantifier like item 1 or item 2 from the quantifier list; or the second Quantifiers list in perlre

      So you might write

      m{^Users of (.+?): \(Total of (.+?) licenses issued; Total of (.+?) li +cense in use\)$}im m{^Users of ([^:]*): \(Total of (.+?) licenses issued; Total of (.+?) +license in use\)$}im m{^Users of ([^:]+): \(Total of (\d+) licenses issued; Total of (\d+) +license in use\)$}im m{^Users of ([\w\_\-]+): \(Total of (\d+) licenses issued; Total of (\ +d+) license in use\)$}im m{^Users of ([\w\_\-]+): \(Total of (\d+) licenses issued; Total of (\ +d+)}im

      Modern Perl ch 6 is also an introduction to regex