javascript - 正则表达式除带两位小数的数字之外的所有内容

标签 javascript regex

对于喜欢正则表达式的人,我有一个很好的挑战;像我这样的。不幸的是,我无法弄清楚这一点。

这个正则表达式是反向匹配。除了适量之外,我需要匹配所有东西;喜欢:

这些类型不需要匹配:

0,00
0.00
12314345.7
24234.54
34435,00
34545,43

这些类型需要匹配:

.00
,87
1e3,67

因此,除了带有逗号或点的小数以外的所有内容都需要在 JavaScript 中匹配(是的,反向)。

我做了这个:

([^0-9]+([^\.,]{0,1})+[^0-9]{0,2})

但是,很明显,它不能正常工作,因为它会穿过多个逗号或点,并且不会将小数位数限制为最多两位。

最佳答案

使用负前瞻的解决方案:

^(?!\d+([,.]\d{0,2})?$).*$

http://regex101.com/r/jY3tC3

注意:此正则表达式需要锚定。我已锚定在 ^$ 之间。

关于javascript - 正则表达式除带两位小数的数字之外的所有内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23890282/

相关文章:

javascript - 如何获取已注册的自定义元素列表

javascript - 使用 android 的原生音频与使用 audiocontext

javascript - 如何使用 javascript 检查字符串是否包含有效的 vimeo url?

regex - 使用 REGEX 在 Hive Create 和 Load Query 中获取空值

javascript - 获取字符串开头或符号的正则表达式

regex - 正则表达式匹配行包含字符串

javascript - 使用从下拉列表中选择的原因代码类型验证数字输入

javascript - 计时器计数不正确

javascript - 为什么 youtube iframe 导致 "Loading failed for the <script> with source"

regex - 修改 `sed` 以从字符串中删除确切的标签