正则表达式为前导零并排除正常零

时间:2015-06-13 17:23:35

标签: regex

我正在寻找两个看起来像这样的字母数字列表:

0012-0103

我想删除所有前导零,但保留属于给定数字值的零。

我有这个获得所有零:

/0*([1-9][0-9])?0/

任何建议。我还在查看正则表达式文档。

2 个答案:

答案 0 :(得分:3)

您可以使用以下内容:

\b0+

请参阅DEMO

说明:

  • \b字边界..这将检查所有由单词和非单词分隔的边界(数字是单词的一部分)
  • 0+匹配多个零

因此,这将匹配所有那些不在中间的零。

答案 1 :(得分:0)

如果不了解语言以及您想要做什么,很难给出准确的答案。我查看了你的个人资料,看起来你可能正在红宝石中这样做。因此,试试这个:

irb(main):001:0> string = "0012-0103"
=> "0012-0103"
irb(main):002:0> string.match(/0*([\d-]+)/).captures
=> ["12-0103"]