匹配特定字符串的Javascript正则表达式
我需要javascript代码方面的帮助匹配特定字符串的Javascript正则表达式,javascript,Javascript,我需要javascript代码方面的帮助 var mapObj = { rd:"road", st:"street", }; var re = new RegExp(Object.keys(mapObj).join("|"),"gi"); package_street_name = package_street_n
var mapObj = {
rd:"road",
st:"street",
};
var re = new RegExp(Object.keys(mapObj).join("|"),"gi");
package_street_name = package_street_name.toLowerCase().replace(re, function(matched){
return mapObj[matched];
});
它所做的基本上是将“rd”替换为“road”,将“st”替换为“street”。我怎样才能使它只替换确切的单词呢
比如说。
如果是Verdana路,则应通向Verdana路
我当前的代码是Veroadana Road。一个简单的方法是在正则表达式中添加
\b
:
new RegExp("\\b(" + Object.keys(mapObj).join("|") + ")\\b", "gi");
不相关,但当您显式地将输入转换为小写时,输出也将是完全小写的。稍有改进的是,仅在对象中执行查找时应用小写:
var package_street_name=“Verdana路”;
var mapObj={
道路:“道路”,
圣:“街”,
};
var re=new RegExp(“\\b(“+Object.keys(mapObj).join(“|”)+”)\\b,“gi”);
package_street_name=package_street_name.替换(re),功能(匹配){
返回mapObj[matched.toLowerCase()];
});
控制台日志(包名称)代码>