首页 > 解决方案 > 以特定字符串为前缀的数字的正则表达式的语法

问题描述

我真的不想在这里问这个,因为我确信这会让我被否决,但我真的被困住了。

我使用了多种工具来测试正则表达式,但语法非常混乱。

我试过的

我将为此使用 javascript,例如,我有以下字符串:

Product ID: 4381 - Fanta Berry cans 355ml x 24

这是来自自动完成下拉菜单的搜索结果,其格式始终为:

Product ID: product_id - Product Name

现在我需要获取 product_id 之间的数字:和 -

我努力了

/[\d]/g

但这只是选择字符串中的所有数字。

我也试过:

[(:\b)-]

并选择 : 和 - 这是我想要获得的数字之间的字符。但我似乎无法弄清楚获取它们之间数字的语法。我觉得我很接近,但经过数小时的搜索,我似乎无法破解它,我知道这不是人们为你工作的地方,但我向你保证,我已经尝试过并且真的在亏损!如果有人能告诉我获得该数字所缺少的一点语法,我将不胜感激。

标签: javascriptregex

解决方案


您可以使用积极的lookbehind

(?<=(Product ID: ))(\d*)

请注意,大多数浏览器都支持此方法,但并非所有浏览器都支持。


推荐阅读