Hello, I am experimenting with some regexp implementations (namely the one from "the practice of programming") and I am a little disoriented by the use of the '?' operator in plan 9's grep: say I have the following input
aaaabbb ab aaaab bb b aaabb aaaa which I feed into grep with grep 'a+bb?' which should match at least one 'a' followed by one or two 'b'. So, grep's output is aaaabbb ab aaaab aaabb which really surprised me at first, since I wasn't expecting the first line. After some thought, I realized that the 'aaaab' and the 'aaaabb' patterns, contained in the first line of input, match the regexp, so grep prints the line. But then, how exactly the '?' operator is useful for grep? I was thinking that it was good to filter lines that contain more characters that desired, but it is not. Saludos -- Hugo