【发布时间】:2021-05-07 16:31:02
【问题描述】:
我想从一个由字母和数字混合而成的字符串中提取一个数字。 例如:
string1 = "1901920100153 abcx"
string2 = "123 1901920100159 abcdf"
string3 = "--> + - asdj 1901920100123 yuman"
现在我只想从上述字符串中提取 13 位数字,从 1901920100(10 位)开始,最后三位可以更改为 1901920100153(13 位)、1901920100159(13 位)、1901920100123
我试过正则表达式 string.match(/(\d+)/) 但它从 string2 中提取 123 我根本不想要。 请帮我找到正则表达式。谢谢
【问题讨论】:
-
使用
1901920100\d{3}或\b1901920100\d{3}\b,见regex101.com/r/RapNnJ/1 -
非常感谢,\b 是什么意思?
-
\b是一个单词边界。 -
嘿,如果我的字符串是这样的“abc1901920100153mad”这个表达式返回null,如果数字带有字母,有没有办法从这些类型的字符串中提取?谢谢
标签: javascript regex string