Javascript 使用或在正则表达式中使用JS replace()替换多个匹配项

Javascript 使用或在正则表达式中使用JS replace()替换多个匹配项,javascript,regex,replace,Javascript,Regex,Replace,其他一些类似问题的答案提到简单地使用|进行多个匹配,但在JS中对我来说似乎不起作用 我有以下字符串:/hi\u hawai\u zip\u codes\u geo.min.json并希望输出夏威夷 以下代码不起作用:str.replace(/_z.*.{0,5}/,“”)但是,在regexpal.com上运行_z.*.}.{0,5}可以很好地匹配作为测试,我可以通过链接2replace()s来替换正确匹配的子字符串 JS或replace中的正则表达式是否有我忽略的特殊例外情况?添加全局标志: 这

其他一些类似问题的答案提到简单地使用|进行多个匹配,但在JS中对我来说似乎不起作用

我有以下字符串:
/hi\u hawai\u zip\u codes\u geo.min.json
并希望输出
夏威夷

以下代码不起作用:
str.replace(/_z.*.{0,5}/,“”)
但是,在regexpal.com上运行
_z.*.}.{0,5}
可以很好地匹配作为测试,我可以通过链接2
replace()
s来替换正确匹配的子字符串

JS或replace中的正则表达式是否有我忽略的特殊例外情况?

添加全局标志:


这个问题不清楚为什么需要使用
replace
。从同一个
str
获取“夏威夷”的方法至少有两种:

str.match(/_(.*?)_/)[1]


谢谢我知道split,但我真的很想通过它来改进我的正则表达式。谢谢!这就是我所缺少的,我没有意识到replace()的特殊性。
str.match(/_(.*?)_/)[1]
str.split('_')[1]