一点解释:我有一个类似的字符串(来自命令行程序执行kpsewhich -all etex.src):c:/texlive/2019/texmf-dist/tex/luatex/hyph-utf8/etex.srcc:/texlive/2019/texmf-dist/tex/plain/etex/etex.src该字符串由 2 个或更多连接的文件路径组成,它们将被再次分隔。动态搜索模式: c:/这些文件总是在同一个卷上,这里c,但必须确定卷名。是否可以用 RegExp 做这样的事情?我可以根据实际文件名拆分字符串etex.src,但其他方法可能吗?更新:正则表达式如下(.+?:[\/\\]+)(?:(?!\1).)*
2 回答

慕哥6287543
TA贡献1831条经验 获得超10个赞
我不完全确定您希望此 RegExp 检索什么,但如果您想获取文件路径数组,则可以使用/(?<!^)[^:]+/gregex 来完成:
// in node.js
const str = 'c:/texlive/2019/texmf-dist/tex/luatex/hyph-utf8/etex.srcc:/texlive/2019/texmf-dist/tex/plain/etex/etex.src'
const paths = str.match(/(?<!^)[^:]+/g)
// [
// "/texlive/2019/texmf-dist/tex/luatex/hyph-utf8/etex.srcc",
// "/texlive/2019/texmf-dist/tex/plain/etex/etex.src"
// ]
此 RegExp 搜索不包含:且不以字符串开头的符号序列(不包括c卷或任何其他卷名称)
添加回答
举报
0/150
提交
取消