Why I am getting different behavior with regular expression in sample text or Eclipse/Web client?
I have a string attribute to simulate a floating type (unfortunately, not using 4.0.1 yet).
I have a string custom attribute, and now trying to add a validation using a regular expression.
This field has to contain a number in the 0-100 range, without decimals, or if decimals, up to tenth (up to 2 decimals only).
My expression is:
(100)|(\d{1,2})|(\d{1,2}[.]\d{1,2})
although I also tried
(100)|(\d{1,2})|(\d{1,2}\.\d{1,2})
which works fine in the sample text box, but within a workitem (either Eclipse or Web, let's say at "execution" time), the behavior is not the same, and it does not accept numbers with decimals.
What am I doing wrong?
--Claudia
I have a string custom attribute, and now trying to add a validation using a regular expression.
This field has to contain a number in the 0-100 range, without decimals, or if decimals, up to tenth (up to 2 decimals only).
My expression is:
(100)|(\d{1,2})|(\d{1,2}[.]\d{1,2})
although I also tried
(100)|(\d{1,2})|(\d{1,2}\.\d{1,2})
which works fine in the sample text box, but within a workitem (either Eclipse or Web, let's say at "execution" time), the behavior is not the same, and it does not accept numbers with decimals.
What am I doing wrong?
--Claudia
Accepted answer
Hi Claudia,
Please try the following regex:
100|\d{1,2}(\.\d{1,2})?
The reason for the difference in behaviour is that in the configuration dialog we are using the Java Regular Expressions to test the regex. During attribute validation we actually run the regular expression in javascript on both the eclipse client and web ui (to ensure consistency across the two platforms).
It seems that the regex implementation in javascript is getting confused. I tried the regex posted in this answer and it works as expected and validates the number correctly.
Thanks