Well, sure. It often appears as .* meaning "none or any number of any characters." Use it when you honestly don't care what it matches.
This is what I thought it meant. Your example more than clears it up.
Say you want to find out if the word "frog" occus in a text followed by the word "dog." You could match on: /\bfrog\b(.*\b)?dog\b/i / pattern delimiter \b word boundary frog 1st word \b word boundary ( begin subpattern .* zero or any characters \b word boundary ) end subpattern ? zero or one instance of the preceding subpattern dog 2nd word \b word boundary / pattern delimiter i case-insensitive This guarantees that both words are bounded by word boundaries and allows any number of any characters to occur between them. (There's sort of an implicit .* before and after the pattern. Because I haven't used ^ and $ to define the beginning and end of the text, regex looks for my pattern anywhere in the text.)
Very helpful! I still have questions, but a PHP mailing list probably isn't the best place.
>And why is it called full stop? That's what the 'period' is called in British English. http://google.ca/search?q=define%3Afull+stop In English syntax "period" and "full stop" are synonymous, and the RegEx manual is throwing "dot" into the same bag.
That's very confusing to call it 'Full Stop' when it doesn't seem to actually correlate to the regex meaning it identifies, don't you think? Maybe to a Brit or someone who understands Commonwealth English would know (I was aware of what it meant in CE, I just woudn't have imagined to apply it here, since it looks to be descriptive). Kind've like an elephant trainer calling her elephant's trunk a boot. -- Jared Farrish Intermediate Web Developer Denton, Tx Abraham Maslow: "If the only tool you have is a hammer, you tend to see every problem as a nail." $$