繁体   English   中英

RegEx 在数字/空格字符串中最多捕获第一个(或唯一的)7 个数字组

[英]RegEx capturing first (or only) group of 7 numbers max in a numeric/space string

确切的规则是(从法语翻译,希望它是正确的):

第六条规则:如果字符串是数字(最终有空格)并且第一个或唯一的数字系列小于或等于 7 个字符,则该系列是我们的“标题 n°”

  • “1122584 44588985 1211”必须返回“1122584”
  • “xx 122585 12585”必须不匹配
  • “ 122585 1258xx5” 必须不匹配
  • “12224457887 5896”必须返回“5896”
  • " 1458 125828 " 必须返回 "1458"

据我说,“第一个或唯一的”是没用的,如果我找到一个我就没事,不管它是不是唯一一个,因为它是第一个。 我无法做到的是检查整个字符串是否为数字/空格并找到我的组匹配。

我将在 Java 7 中使用正则表达式,使用这个库: https : //docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html

编辑 :

^[0-9\\s]*$ 是检查数字/空格字符串的正则表达式

([0-9]{1,7}) 是我的捕获组

我不知道如何组合这两个表达式。

([0-9]{1,7}) 是您的捕获组,您希望确保所有其他字符都是数字/空格。

所以它变成^[0-9\\s]*?\\b([0-9]{1,7})\\b[0-9\\s]*$

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM