Javascript 用于在第n个字符出现时剪切字符串并返回字符串的第一部分的正则表达式
我找到了返回字符串第二部分的案例的答案,例如:Javascript 用于在第n个字符出现时剪切字符串并返回字符串的第一部分的正则表达式,javascript,regex,Javascript,Regex,我找到了返回字符串第二部分的案例的答案,例如: “qwe\u fs\u xczv\u xcv\u x”。替换(/([^\\\\\\*\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\{**n**}/,”-其中是n,是要删除的事件量 如果nth=3,则上面将返回“xcv\u xcv\u x” 此帖子中的详细信息: 如何更改上面的正则表达式以返回第一部分(即“qwe_fs_xczv”)?您需要使用来断言结束位置 "qwe_fs_xczv_xcv_xc
“qwe\u fs\u xczv\u xcv\u x”。替换(/([^\\\\\\*\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\{**n**}/,”代码>-其中是n,是要删除的事件量
如果nth=3,则上面将返回“xcv\u xcv\u x”
此帖子中的详细信息:
如何更改上面的正则表达式以返回第一部分(即“qwe_fs_xczv”)?您需要使用来断言结束位置
"qwe_fs_xczv_xcv_xcv_x".replace(/(_[^_]*){nth}$/, '');
// --------------------^-----------^--- here
console.log(
“qwe_fs_xczv_xcv_x”。替换(/([^ u]*){3}$/,”)
)
如果要使用替换
,则捕捉到第三个\uu
的右前方,并替换为该组:
const re=/^(([^.]*.{2}[^.]*(?=)).$/;
log(“qwe_fs_xczv_xcv_xcv_x.replace(re,$1”);
log(“qwe_fs_xczv_xcv_x_x_x_x”).replace(re,$1')代码>用于从字符串的开头(^
)查找可能以下划线()开头的三个不带下划线的字符序列:
const result=“qwe_fs_xczv_xcv_xcv_x”。匹配(/^(?:?[^.]+){3}/);
控制台日志(结果)代码>就快到了:-)我喜欢你简单的答案,但这一个从结尾开始。我的字符串的段数未知。如何将其更改为仅返回左侧的前3段?它可以工作,谢谢。我选择Ori Drori的答案,因为这是最简单的。