我有这个RegEx,我需要抛光,如果字符串的第一个字母是k然后删除它并删除最后一个下划线后的所有内容。
(?<=a)[\w\-=~ ]+(?=_) or
(^.*?(?=k)k)|[_].*$ or
^K|(.*_).*
如果字符串为:
,则有效kMy新文件(conn) - vital_esxi.dsss
输出:我的新文件(conn) - 至关重要
但未能跟随字符串:
输入:aeeff adlf(adf) - region_ev akjd _pre.docx
输出应为:aeeff adlf(adf) - region_ev akjd
答案 0 :(得分:2)
你的正则表达式可能更简单:
const regex = /^k?(.*?)\_[^_]*$/;
console.log('aeeff adlf (adf) - region_ev akjd _pre.docx'.replace(regex, '$1'));
console.log('kMy new file (conn) - vital_esxi.dsss'.replace(regex, '$1'));