Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 用于在第n个字符出现时剪切字符串并返回字符串的第一部分的正则表达式_Javascript_Regex - Fatal编程技术网

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的答案,因为这是最简单的。