regex - 需要一个正则表达式 - 只允许零,允许其他数字的零
问题描述
我想验证一个字符串以满足以下模式:
00;0 (disallow)
00;00 (disallow)
01;123 (disallow)
00;1
00; (disallow)
00;000000 (disallow)
00;1234567890123 (disallow)
00;123456789012
00;10
00;01
00;00001
00;00100
00;0202020
00;1000000
00;00100100
一般来说,字符串应该是^00;\d{1,12}$
,但是如何消除上面示例中不必要的行并在一个正则表达式中解决必要的行?
谢谢。
解决方案
你可以使用这个正则表达式:
^00;(?!0+$)\d{1,12}$
正则表达式详细信息:
^00;
00;
:在行首匹配(?!0+$)
:如果我们全为零,则负前瞻使匹配失败\d{1,12}$
: 匹配 end 前任意数字的 1 到 12 个字符
推荐阅读
- vue.js - 如何使用 Nuxt 保护 API 密钥并进行验证
- android - 具有 API 集成的 ExpandablelistView
- r - 计算R中向量中模式的所有匹配
- spring-boot - @EnableEurekaServer、@EnableConfigServer、@EnableAdminServer 和@EnableZuulProxy 走进一家酒吧
- mysql - mysql是否可以给每一行一个指定的生命周期来自动删除?
- tcl - 无效的命令名称“::tk::dialog::file::”
- c# - 使用 LINQ 查询获取列表中的选定字段
- sql - 如何将列中的连接值转置为行
- firebase - 在 null 上调用了 getter 'image'
- r - 如何使用 Rstudio 解析数据框中的 Json 列