使用 mootools 我有一个像这样的正则表达式:
new RegExp('^([^\\D'+ separator +']+)(\\d{2})');
在字符串中,每 2 个字符后插入分隔符中定义的字符。我希望它只插入最后两个。
示例:
String Result
123456 12.34.56 // what it does now
123456 1234.56 // what it should do
我对正则表达式没有太多经验,所以任何帮助或指向像样教程的链接都值得赞赏。
最佳答案
如果你的字符串只包含数字,这不是和除以 100 一样吗?
'' + str / 100
这可能取决于语言环境;-)
如果您有更多我可以处理的边缘情况,我可以改进这个答案。
如果你绝对必须只使用正则表达式,你总是可以使用这个:
'123456'.replace(/(.)(\d{2})$/, function($0, $1, $2) {
return $1 + '.' + $2;
});
这可以保护您免受可能导致 NaN
的字符串的影响,例如 'foo'
。
关于Javascript正则表达式调整,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11223499/