En/na Eda Srinivasareddy ha escrit:
Hi all
Following are some of the doubts that we got while using for testing one of our applications?
1. Is there any way to find out the last Match number of the template of a regular expression instead of finding randomly by using 0 or by using some number say N to find the Nth Match Number?
I don't think there is. Actually, I'm pretty sure there isn't.
But probably you can devise a regexp that only matches on the correct entry. Keep reading.
2. Regular expression was not working proper in the case of the following code of a multi selection list box. The code is
<select>
<option value="abc"><abc</option><option value="abc"><abc</option><option value="abc"><abc</option></select>
The regular expression details I used:
Regular expression: \<option value=\"(.*)\"\>
Template: $1$
Match No: 1
Answer expected: abc
Answer received: abc"><abc</option><option value="abc"><abc</option><option value="abc"><abc</option></select>
It is working correctly. "*" is a "greedy" operator: it will match as much as you can. Your regexp says: find me something starting with <option value=" and ending with "> and grab what's inbetween -- and that's what it's doing, only that it is the FIRST <option and the LAST "> in your text.
You may use "*?" instead: it's a "reluctant" operator. But it performs really poorly if there's no match or if the match is very long.
Even beter:
<option value=\"([^">]*)\">
And talking about greedy/reluctant operators, you can use this to match the last such option:
.*<option value=\"([^">]*)\">
Because .* is greedy, it will match everything it can -- and leave only the last <option for the rest of the expression.
Makes sense?
My doubt here is, did I do any mistake? If there is no mistake, why it is not giving only abc?
Thanks
Eda
--------------------------------- Do you Yahoo!? New Yahoo! Photos - easier uploading and sharing
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]

