我有这个正则是我需要抛光的,如果字符串的第一个字母是k,则将其删除并在最后一个下划线后删除所有内容。
(?<=a)[w-=~ ]+(?=_) or
(^.*?(?=k)k)|[_].*$ or
^K|(.*_).*
如果字符串为:
kmy新文件(conn(-vital_esxi.dsss
输出:我的新文件(conn(-vital
,但无法以下字符串:
输入:aeeff adlf(adf( - region_ev akjd _pre.docx
输出应为:aeeff adlf(adf( - region_ev akjd
您的正则表达式可能会更简单:
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'));