php regex pregmatch删除字符之间的零

时间:2018-05-01 13:40:00

标签: regex

我有一个字符串,我希望实现删除字符-s和第一个数字之间的所有零。

1v-s001v => 1v-s1v
2v-s030r => 2v-s30r
3v-s021v => 3v-s21v

我正在尝试:

\w+-s0*(\d)

但它与主题字符串不匹配。

1 个答案:

答案 0 :(得分:1)

您可以使用

(-s)0+(\d)

并替换为$1$2。如果您的正则表达式版本不支持\d,则可以将[0-9]替换为\d

请参阅regex demo

<强>详情

  • (-s) - 捕获第1组(后来用替换模式中的$1占位符/替换反向引用):-s子字符串
  • 0+ - 一个或多个0字符
  • (\d) - 捕获第2组(后来用替换模式中的$2占位符/替换反向引用):任何一位数