我有一个字符串"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 :(得分:0)
如果您将*
中的[0-9]*
量词替换为[0-9]{n,}
,其中n
是您至少期望的位数,则正则表达式应仅在您的示例中返回1234如果您使用[0-9]{3,}
答案 1 :(得分:0)
您提供的样本数据看起来像名称和生日,其中年份(3位或更多位数)可以在string
的任何位置找到。如果这是真的,那么这个模式将从字符串中提取一个包含3位或更多位数的数字:
\\d{3,}
经过测试@ Regex101