2024-09-27 23:28:35 发布
网友
我想在我的数据中匹配大的数字,但有时数据中包含重复的零作为强调,而不是电话号码。如何识别长度至少为9位且不包含任何重复零的数字(例如,至少5位)?例如:
比赛:打19083910893给我
不匹配:此x100000000
我尝试了[0-9]+(?!0+),但这不是我所需要的,因为反向前瞻不会取消与[0-9]+找到的结果的匹配。不知何故,(\d)(?!0+)\d+在测试中起作用,但我真的不明白为什么
[0-9]+(?!0+)
[0-9]+
(\d)(?!0+)\d+
你可以用
(?<!\d)(?!\d*0{5})\d{9,}
解释
(?<!\d)
(?!\d*0{5})
\d{9,}
Regex demo
你可以用
解释
(?<!\d)
负向后看,不要直接在左边断言一个数字(?!\d*0{5})
断言右边不是5个零\d{9,}
匹配9个或更多数字Regex demo
相关问题 更多 >
编程相关推荐