繁体   English   中英

正则表达式捕获以数字结尾的字符串中的所有数字

[英]Regex to capture all numbers in a string that ends with a number

我正在尝试编写一个正则表达式来捕获字符串中的所有数字,但前提是字符串以数字结尾。

我计算出该模式需要一个重复的捕获组:

^(\D*(\d+))+$

所以

  • 字符串开始
  • 有 0 个或多个非数字字符
  • 然后 1 个或多个数字(我们捕获)
  • 该模式重复直到字符串结束

我的问题是,在重复的捕获组中,您似乎只能得到返回给您的最后一场比赛。 演示

谁能告诉我哪里出错了?

您可以先行使用此正则表达式:

\d+(?=(?:\w+\d)?\b)

正则表达式演示

正则表达式细分:

  • \d+ :匹配 1+ 个数字
  • (?= : 开始前瞻断言
    • (?:\w+\d)? :可选地匹配 1 个或多个单词字符后跟一个数字
    • \b :单词边界
  • ) : 结束先行断言

暂无
暂无

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

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