开发者社区 问答 正文

js正则字符串是否是文件路径怎么写?:报错

问题描述: 我们都知道  网路文件一般:http://或者是https://或者是ftp://的 本地文件:file:///C:/Users/n/AppData/Local/xxx 或者是:c:/aa/bb/xx 现在已知道: 网络的js正则:/^(https?|ftp|):/i.test(src) 想把本地的也就是file:///或者是c:/这类的也给包含进来。 怎么写?

展开
收起
kun坤 2020-06-09 13:54:22 859 分享 版权
阿里云 AI 助理回答

要创建一个正则表达式,能够同时匹配网络文件路径(http://, https://, ftp://)和本地文件路径(file:/// 或 c:/ 开头),你可以调整现有的正则表达式如下:

/^(https?|ftp|file):\/\/|c:\/i.test(src)

这里做了以下修改:

  1. 保留了原有的(https?|ftp)部分,用于匹配"http://"、"https://"和"ftp://"。
  2. 添加了file:\/\/\/来匹配以"file:///"开头的本地文件路径。
  3. 添加了|c:\/来匹配以"c:/"开头的本地文件路径。注意这里的斜杠方向是"/",因为在正则表达式中,"/"需要被转义,而Windows路径中的反斜杠"\"在字符串中应写为"\", 但在这里我们直接使用Unix风格的路径分隔符,因为正则表达式不区分这个差异,且这样更通用。

综上,这个正则表达式将能识别你所描述的所有类型文件路径。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答