使用正则表达式返回整个匹配词

本文关键字:正则表达式 返回 | 更新日期: 2023-09-27 18:06:42

我有一个字符串"myname 18-may 1234",我只需要使用正则表达式从整个字符串中获取"1234"

我尝试使用'b([0-9]*)'b正则表达式,这给了我"18""1234"作为结果。

但是我只想要"1234"而不是"18",请建议正确的方法从整个单词中只选择"1234"

字符串也有变化,有时字符串出现在"18-may 1234 myname""18-may myname 1234"

是否可能-只获得1234,而不是18 ?

使用正则表达式返回整个匹配词

如果您将[0-9]*中的*量词替换为[0-9]{n,},其中n是您至少期望的位数,如果您使用[0-9]{3,}

, regexp应仅在示例中返回1234

您提供的示例数据看起来像姓名和生日,其中年份(3个或更多数字)可以在string中的任何地方找到。如果为真,则此模式将从字符串中提取一个包含3位或更多数字的数字:

''d{3,}

已测试@ Regex101