可以看到,^ 代表从字符串开头进行匹配,$ 代表从字符串末尾进行匹配
^ 和 $ 不能一起用,用了其中任何一个,g 就不起作用了。
没有 g 找到一个就不会再找了,有 g 会一直找完整个字符串。
const str = "&一&二&三&四&五&" str.replace(/^[&]+[u4e00-u9fa5]+[&]/,"") // "二&三&四&五&" str.replace(/[&]+[u4e00-u9fa5]+[&]$/,"") // "&一&二&三&四" str.replace(/([&]+[u4e00-u9fa5]+[&])/,"") // "二&三&四&五&" str.replace(/[&]+[u4e00-u9fa5]+[&]/g,"") // "二四"