regex - 获取最后两个路径深度。正则表达式
问题描述
我只想匹配最后两个路径深度。
示例输入:
/root/sync/test1/hallo12
匹配的应该是:
/test1/hallo12
我不工作的正则表达式:
(/.*){2,2}$
解决方案
您可以使用
(?:/[^/]+){2}$
请参阅正则表达式演示。
细节
(?:/[^/]+){2}
- 两次连续出现/
- 一个斜线[^/]+
- 1+ 字符以外/
$
- 字符串结束。
如果可能有斜杠使用
(?:/[^/]+){2}/?$
^^
where/?
匹配 1 或 0 个斜杠。
请注意,如果您在 /
正则表达式分隔符中使用模式,则必须转义模式中的斜杠。
推荐阅读
- javascript - 为什么这张图片没有旋转?
- kubernetes - 在具有固定域和端口的 GKE 中运行可扩展服务
- angular - 尽管从服务调用收集的产品显示在页面上,但接口日志未定义
- unix - 制作以破折号开头的 grep 搜索模式
- php - 使用 CodeIgniter 上传多个文件 - 偏移错误
- javascript - 过滤来自两个对象的值
- reactjs - 根据道具状态有条件地重定向用户
- php - 如何在sql查询中组合变量php
- typescript - 如何获取可选的 opts 类型签名进行编译 - TS2394
- javascript - Web - 菜单没有响应 1024-1200 范围内的点击