你能帮我写一个正则表达式,它可以给我没有指定前缀和后缀的单词吗?
每个单词都以点 (.) 开头并以“Zacher”结尾,例如:
- .mobileZacher => 输出应该是移动的
- .carZacher => 输出应为 car
- .StevenZacher => => 输出应为 Steven
我尝试了这个 str.replace(/(?:.)|(?:Zacher)/, '')
但它只替换了点
最佳答案
只需尝试以下正则表达式:
str.replace(/\.(.+?)Zacher/, '$1')
我们正在寻找点字符,然后将所有内容与第一次出现的 Zacher
进行匹配,并将其替换为这些字符之间的字符串。
您还可以将 (.+?)
部分(接受任何字符)替换为 ([a-zA-Z]+?)
以仅匹配字母。
或者使用i
使其不区分大小写:
str.replace(/\.([a-z]+?)Zacher/i, '$1')
关于javascript - 通过正则表达式从单词中剪切前缀和后缀,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49915120/