Reputation: 727
I am new to regular expression. in order to study it i am referring to Mastering regular expression.
`My regular expression is`
[a-z\s]{3,10}
and the input string is
cat is the cat
I am checking this on https://regex101.com. in the output i am getting "cat is the " if i change the regular expression to [a-z\s]{1,10} than also i get the same result. so i am unable to get how this output is cumming.
Upvotes: 1
Views: 178
Reputation: 174706
Noramlly regex engine would scan for a match in a string from left to right. Here, the actual regex is [a-z\s]{3,10}
, it would match 10 chars of lowercase letters or spaces from the start since it was greedy. {3,10}
repeats the previous token [a-z\s]
min of three times and the max of 10 times. If the line contain lowercase letters or spaces of length 9
, this regex would match that line also because 9 falls within the range 3
, 10
[a-z\s]{1,10}
also do the same job of matching 10 chars of lowercase letters or spaces from the start. {1,10}
would repeat the previous token [a-z\s]
minimum 1 time and the maximum of 10 times. So this also matches a line which has single character but the above regex matches a substring which must have at-least three characters.
Upvotes: 2