【问题标题】:How to make custom regex for include leading zero?如何使自定义正则表达式包含前导零?
【发布时间】:2021-08-11 09:13:46
【问题描述】:

我创建了一个自定义正则表达式,它适用于任何动态数字。但它不包含/接受前导零。

这是我的正则表达式:

Dial(0|[1-9][0-9]*)_(0|[1-9][0-9]*)

当我在 regexr 中测试时,我观察到它不接受前导零部分的下一个 (未突出显示)


它应该接受“Dial733_001”“Dial26_0000005”“Dial6_00100”

它不应该接受 "Dial6s_001""Dials6_001""Dial1_s001""Dial1_001s"

【问题讨论】:

  • 您的意思是从捕获中排除零吗? Dial0*([1-9][0-9]*)_0*([1-9][0-9]*)?
  • @WiktorStribiżew 我的意思是它应该接受/捕获前导零。您的答案部分正确,但它最终接受字符串,例如 "Dial552_99944ssss"
  • 然后添加一个单词边界,Dial0*([1-9][0-9]*)_0*([1-9][0-9]*)\b
  • @WiktorStribiżew 谢谢先生的帮助。你会把它作为答案发布,所以我会接受。或者我会直接关闭问题?

标签: javascript regex


【解决方案1】:

你可以使用

\bDial0*([1-9][0-9]*)_0*([1-9][0-9]*)\b

请参阅regex demo详情

  • \b - 字边界
  • Dial - 一句话Dial
  • 0* - 零个或多个 0 字符
  • ([1-9][0-9]*) - 第 1 组:一个非零数字,然后是零个或多个数字
  • _ - 下划线
  • 0* - 零个或多个 0 字符
  • ([1-9][0-9]*) - 第 2 组:一个非零数字,然后是零个或多个数字
  • \b - 字边界

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-09
    • 1970-01-01
    • 2020-11-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多