我在javascript中制作(Excel喜欢)数字格式化函数。我想使用像“0 000.00”和“000.000.000”这样的模板,它们会产生:
format(123456789,"0 000.00") >> "123 456 789.00"
format(123456789,"000\.000\.000") >> "123.456.789"
所以我需要匹配'。'之前没有'\'。由于javascript中没有lookbehind,用于分割模板的整数和小数部分的正则表达式是什么?
遗憾的是,这不起作用: - (
template.split(/(?<!\\)\./);
答案 0 :(得分:3)
反转字符串并改为使用否定前瞻。
template.split("").reverse().join("")
.split(/\.(?!\\)/)
.split("").reverse().join("");
这是一种“有趣”的方式,但对于你的情况,还有其他方法可能更好。就像用\.
之类的魔术字符串替换所有__MAGIC__
一样,按.
分割,然后撤消魔术字符串。