首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >匹配'.‘的Javascript regexp前缀不是“\”(替代lookbehind)

匹配'.‘的Javascript regexp前缀不是“\”(替代lookbehind)
EN

Stack Overflow用户
提问于 2012-11-10 17:16:04
回答 1查看 416关注 0票数 1

我正在用javascript做一个(类似于Excel的)数字格式函数。我想使用像"0 000.00“和"000.000.000”这样的模板,它们会产生:

代码语言:javascript
复制
format(123456789,"0 000.00") >> "123 456 789.00"
format(123456789,"000\.000\.000") >> "123.456.789"

所以我需要匹配‘’前面没有'\‘。既然javascript中没有lookbehind,那么分割模板的整个和小数部分的regexp是什么呢?

不幸的是,这不起作用:-(

代码语言:javascript
复制
template.split(/(?<!\\)\./);
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-11-10 17:21:36

反转字符串,并使用负向先行。

代码语言:javascript
复制
template.split("").reverse().join("")
        .split(/\.(?!\\)/)
        .split("").reverse().join("");

这是一种“有趣”的方式,但对于您的情况,还有其他更好的方式。就像用像__MAGIC__这样的魔术字符串替换所有的\.,按.拆分,然后撤销魔术字符串。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13320767

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档