习惯就好zz 2022-08-13 13:36 采纳率: 100%
浏览 27
已结题

正则表达式判断sda1和sda

在linux是用需要用正则表达式匹配u盘的磁盘名称

在linux中不同的u盘,会在/dev/下生成不同的文件。
有的只会生成/dev/sda,有的U盘会生成/dev/sda /dev/sda1

现在我需要有正则表达式来判断这个,如果只有/dev/sda那么匹配结果就是/dev/sda。
如果既有/dev/sda又有/dev/sda1,那么匹配结果只需要/dev/sda1

我目前的匹配结果sd[a-z][0-9]|sd[a-z]$
当目录里既有/dev/sda又有/dev/sda1时,它两个都会匹配。请问怎么写才能:

如果匹配到sda1那么就直接返回,不再匹配sda

  • 写回答

2条回答 默认 最新

  • 原始猿miser 2022-08-14 13:46
    关注

    sda-z

    sd[a-z]([0-9]{0,1})
    
    

    正则表达式默认使用贪婪模式,优先匹配有1的

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 8月30日
  • 已采纳回答 8月22日
  • 创建了问题 8月13日

悬赏问题

  • ¥15 TLS1.2协议通信解密
  • ¥40 图书信息管理系统程序编写
  • ¥20 Qcustomplot缩小曲线形状问题
  • ¥15 企业资源规划ERP沙盘模拟
  • ¥15 树莓派控制机械臂传输命令报错,显示摄像头不存在
  • ¥15 前端echarts坐标轴问题
  • ¥15 ad5933的I2C
  • ¥15 请问RTX4060的笔记本电脑可以训练yolov5模型吗?
  • ¥15 数学建模求思路及代码
  • ¥50 silvaco GaN HEMT有栅极场板的击穿电压仿真问题