正则表达式匹配百分比与小数?

rag*_*885 1 .net regex decimal percentage

我正在尝试构建一个正则表达式(.NET)来匹配一个百分比与4位小数.小数点后4位是必需的.范围看起来像:

0.0001 to 100.0000 
Run Code Online (Sandbox Code Playgroud)

到目前为止,我想出了:

(?:[^0]+[1-100]{1,3})\.(?:\d{4})
Run Code Online (Sandbox Code Playgroud)

但是,我对如何在此表达式中添加一些其他要求有点不确定.我需要:

  • 小数点前没有前导零.允许42.4214,042.4214不允许.允许1.0000,但001.0000不允许.等等..
  • 小数点前允许最多3个字符,不带前导零.
  • 如果小数点前的数字是100,则不允许小数点后的数字为0000以外的数字,因此允许100.0000,但不允许100.0135.(这是否可以使用正则表达式?)

感谢帮助!

Jon*_*nna 6

只是将100.0000可能性视为一个单独的案例.它很容易匹配(100\.0000),并且很容易匹配其余的([1-9]?\d\.\d{4}),所以你得到的两个替换:

^(100\.0000|[1-9]?\d\.\d{4})$
Run Code Online (Sandbox Code Playgroud)

(假设你想要它是整个文本,否则遗漏^$.

  • @mmdemirbas和我不希望,问题将范围定义为"0.0001到100.0000". (2认同)