针对类似问题的其他一些答案提到仅使用|进行多次比赛,但对我来说似乎在JS中不起作用。
我有以下字符串:/hi_hawaii_zip_codes_geo.min.json
,并且想要输出hawaii
。
以下代码不起作用:str.replace(/_z.*|^.{0,5}/, '')
但是,在测试中regexpal.com上运行_z.*|^.{0,5}
可以很好地匹配,并且我可以通过链接2 {{ 1}} s。
JS中的正则表达式是否有一些特殊的例外,或者是我所忽略的替代?
答案 0 :(得分:2)
添加 global 标志:
str.replace(/_z.*|^.{0,5}/g, '')
add “g” —————-^
答案 1 :(得分:1)
从这个问题尚不清楚,为什么根本需要使用replace
。至少有两种其他方法可以从同一str
获取“夏威夷”:
str.match(/_(.*?)_/)[1]
和
str.split('_')[1]