java - 如果我不希望前 10 个字符为“0”,如何使用 java 正则表达式捕获字符串
问题描述
我有 2 个字符串“0000000000ABCDEF”和“1234567890ABCDEF”,我试图找出如何使用正则表达式捕获“1234567890ABCDEF”,该正则表达式的规则是前 10 个字符不能全为零“0”。
编辑:
感谢迄今为止所有有用的评论。
如果有任何混淆,我深表歉意,通过捕获我的意思是将正则表达式与“1234567890ABCDEF”匹配。并且相同的正则表达式不应该匹配“0000000000ABCDEF”,因此我觉得我试图提出的设计应该包含一个检查规则:
1) 前 10 个字符不能全为零
我试过这样的东西 (?!0{10}).* 但它仍然匹配“0000000000ABCDEF”。我想我会阅读更多关于正则表达式的内容。
解决方案
您应该只能像这样使用负面的外观:
(?<!0{10})ABCDEF
这是一个 regex101 供您查看它的工作原理:https ://regex101.com/r/l7pX8c/1
推荐阅读
- c# - 解析数据库文件时ID不匹配
- javascript - 如何在 javascript 中从此类中获取 href?
- microsoft-graph-api - 列表订阅功能是否损坏?
- webpack - 更改 webpack 摘要方法
- c# - 将嵌入对象作为多部分表单数据发布
- r - R 数据帧上的“应用”返回转置的行
- c# - 进程不会以双引号开头
- aem - 安装包 Adobe AEM 时出现“org.apache.jackrabbit.core.data.DataStoreException:无法添加记录”异常
- python - 如何从 django 的基类访问子类中的所有字段?
- soapui - SoapUI 测试运行器以管理员身份运行