首页 > 解决方案 > 如果我不希望前 10 个字符为“0”,如何使用 java 正则表达式捕获字符串

问题描述

我有 2 个字符串“0000000000ABCDEF”和“1234567890ABCDEF”,我试图找出如何使用正则表达式捕获“1234567890ABCDEF”,该正则表达式的规则是前 10 个字符不能全为零“0”。

编辑:

感谢迄今为止所有有用的评论。

如果有任何混淆,我深表歉意,通过捕获我的意思是将正则表达式与“1234567890ABCDEF”匹配。并且相同的正则表达式不应该匹配“0000000000ABCDEF”,因此我觉得我试图提出的设计应该包含一个检查规则:

1) 前 10 个字符不能全为零

我试过这样的东西 (?!0{10}).* 但它仍然匹配“0000000000ABCDEF”。我想我会阅读更多关于正则表达式的内容。

标签: javaregex

解决方案


您应该只能像这样使用负面的外观: (?<!0{10})ABCDEF

这是一个 regex101 供您查看它的工作原理:https ://regex101.com/r/l7pX8c/1


推荐阅读