您能帮我写正则表达式给我一个没有指定前缀和后缀的单词吗?

每个单词都以点(。)开头并以'Zacher'结尾,例如:


.mobileZacher =>输出应该是可移动的
.carZacher =>输出应该是car
.StevenZacher => =>输出应该是史蒂文


我尝试了这个str.replace(/(?:.)|(?:Zacher)/, '')但它只替换了点

最佳答案

只需尝试以下正则表达式即可:

str.replace(/\.(.+?)Zacher/, '$1')


我们正在寻找点字符,然后将所有内容匹配到Zacher的第一个出现位置,并将其替换为两个字符之间的字符串。

您也可以将(.+?)部分(接受任何字符)替换为([a-zA-Z]+?)以仅匹配字母。

或者使用i使其不区分大小写:

str.replace(/\.([a-z]+?)Zacher/i, '$1')

10-06 00:15