http://www.perlmonks.org?node_id=481804


in reply to Regex question

The difference is that with [] is part of a character class, which means that anything (in this case a line) within the [] will constitute a match at this position. So in your code, [htm|asp] anything that contains any of the following characters will match: h t m | a s p.

On the other hand with parenthesis you are asking the regex engine to match anything with htm OR asp, and hence output.php doesn't match.

You might want to have a look at perlretut and perlre for more info.

-enlil