Javascript Regex允许十进制数不起作用
我使用正则表达式来允许十进制数,但它不接受十进制数。有人能告诉我正则表达式代码中的错误吗Javascript Regex允许十进制数不起作用,javascript,regex,Javascript,Regex,我使用正则表达式来允许十进制数,但它不接受十进制数。有人能告诉我正则表达式代码中的错误吗 export const ddd = (value) => value.replace(/[^\d]+(\.\d{1,2})?$/, '').slice(0,7); 预期产出为: 55.69 但我收到的实际输出是 5569不清楚你在问什么,但这可能会有所帮助 [^\d]+ Match one or more NON-digit ( Start capture group
export const ddd = (value) => value.replace(/[^\d]+(\.\d{1,2})?$/, '').slice(0,7);
预期产出为:
55.69
但我收到的实际输出是
5569不清楚你在问什么,但这可能会有所帮助
[^\d]+ Match one or more NON-digit
( Start capture group
\. Literal .
\d{1,2} Match one or two digits
)? End capture group, question mark indicates optional
$ End of string/line (depending on flags)
不清楚你在问什么,但这可能会有所帮助
[^\d]+ Match one or more NON-digit
( Start capture group
\. Literal .
\d{1,2} Match one or two digits
)? End capture group, question mark indicates optional
$ End of string/line (depending on flags)
这可能是一个更广泛的问题,如果你展示整个相关代码会更好。你的意思可能是
^\d+(\.\d{1,2})?$
因此,十进制数字应该以任意数量的非数字开头?你想做什么有点不清楚。@bhojendraauniya确实,即使它是一个拼写错误,并且OP的意思是将^
放在大括号之外,那么它的预期输出仍然有点奇怪。如果整个值是一个十进制数,则会将其删除,并且您仍然会尝试从结果(空)字符串中提取前8个字符。这可能是一个更广泛的问题,如果您显示整个相关代码,则会更好。您可能指的是^\d+(\.\d{1,2})?$
所以,十进制数应该以任意数量的非数字开头?你想做什么有点不清楚。@bhojendraauniya的确,即使它是一个打字错误和OP,意思是把^
放在大括号外,那么预期的输出是什么还是有点奇怪。如果整个值是一个十进制数,那么它将被删除,并且您仍将尝试从结果(空)字符串中获取前8个字符。