正则表达式,按条件筛选数字

文本:
报价:86万元 成交金额(元):3225780.00 地址:江西省南昌市31号大厦ABCD[2021]259-ZC187
结果:
86 3225780.00
条件:
正则表达式中不能指定数字匹配多少次或以上

((?<=:|:)(\d+(.\d+)?)) 表示的是紧跟在冒号(中英文皆可)后符合 (\d+(.\d+)?)这个正则的所有字符串

(\d+(.\d+)?) 表示 多个数字 后边可以有或者无(小数点加多个数字) 比如 1 01 0001 0.1 0.0001 都符合

看你3225780.00前的冒号是中文符号 如果不是写错了的话 就要加上中文冒号的判断

var str = '报价:86万元 成交金额(元):3225780.00 地址:江西省南昌市31号大厦ABCD[2021]259-ZC187'

str.match(/((?<=:|:)(\d+(\.\d+)?))/g)

// 如果不要中文冒号 就这么写
str.match(/((?<=:)(\d+(\.\d+)?))/g)

img