Floating Number Validation

Given a string, you should validate whether the string represents a legal float number. The legal float number should in this pattern: ^([+-])?(?\d*)?((.)(?\d*))?(([eE])(?[+-]?\d+))?$ Obviously if both fractional_digits and integral_digits part are empty, this string is also illegal.

Input

There are multiple test cases, each with a string in a line(no extra blanks in this string). The test cases end with a single '#' in a line.

Output

If the string represents a legal float number, output 'Yes' in a line. Otherwise output 'No'.

Sample Input

1.1e11
1.1e1.1
#
Sample Output

Yes
No

http://blog.csdn.net/xiaogugood/article/details/17922105

http://stackoverflow.com/questions/14078715/float-number-validation-check-for-codeigniter/14078827