繁体   English   中英

与'。'匹配的Javascript正则表达式 前面没有'\\'(lookbehind alternative)

[英]Javascript regexp that matches '.' not preceded by '\' (lookbehind alternative)

我在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(/(?<!\\)\./);

反转字符串并改为使用否定前瞻。

template.split("").reverse().join("")
        .split(/\.(?!\\)/)
        .split("").reverse().join("");

这是一种“有趣”的方式,但对于你的情况,还有其他方法可能更好。 喜欢替换所有\\. 使用像__MAGIC__这样的魔术字符串,分割依据. ,然后撤消魔术字符串。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM