您能帮我写正则表达式给我一个没有指定前缀和后缀的单词吗?
每个单词都以点(。)开头并以'Zacher'结尾,例如:
.mobileZacher =>输出应该是可移动的
.carZacher =>输出应该是car
.StevenZacher => =>输出应该是史蒂文
我尝试了这个str.replace(/(?:.)|(?:Zacher)/, '')
但它只替换了点
最佳答案
只需尝试以下正则表达式即可:
str.replace(/\.(.+?)Zacher/, '$1')
我们正在寻找点字符,然后将所有内容匹配到
Zacher
的第一个出现位置,并将其替换为两个字符之间的字符串。您也可以将
(.+?)
部分(接受任何字符)替换为([a-zA-Z]+?)
以仅匹配字母。或者使用
i
使其不区分大小写:str.replace(/\.([a-z]+?)Zacher/i, '$1')