• Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Help me unravel the concept of greedy quantifiers.

 
gurpeet singh
Ranch Hand
Posts: 924
1
Fedora Java Netbeans IDE
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
suppose i have a regex as follows

Regex pattern : a? // which means a, 0 or more times. Also this is a greedy quantifier

Now conside the source string as follows :

Source String : aba

On the sun's tutorail on regular expression i read that greedy quantifers will first look for the whole source/input string. if a match is not found , it starts from right. so applying the same concept here if we consider the whole string "aba" clearly there is no match. so now we start from the right , there will be a match at the 2 index. but the actual output of the program is as follows:

I found the text "a" starting at index 0 and ending at index 1
I found the text "" starting at index 1 and ending at index 1.
I found the text "a" starting at index 2 and ending at index 3
I found the text "" starting at index 3 and ending at index 3.

If it is a greed quantifier and as the sun's tutorail as well as KB book points(please refer page 497) that it works the way from right/backwards shouldnt starting character must be found at index 2.
I'm very confused between the working of greedy .kindly help
 
Henry Wong
author
Marshal
Pie
Posts: 21418
84
C++ Chrome Eclipse IDE Firefox Browser Java jQuery Linux VI Editor Windows
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Please don't create multiple topics -- with different examples, but addressing the same issue. It cause confusion for all parties.

Your other topic...

http://www.coderanch.com/t/573141/java-programmer-SCJP/certification/help-understanding-greedy-reluctant-quantifiers

has a better example. And maybe it would be better to use that one instead.

Henry
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic