如何使用正则表达式仅提取括号中的数字?

时间:2018-06-28 08:51:16

标签: javascript regex

以下情况:

我有一个格式如下的字符串:"4.297 GB (4,613,734,400 bytes)" 我只想提取括号内的数字。 该示例将为:4613734400。

我现在在regexr上弄弄了一个小时,以找出正确的Regex,但无法做到。

我尝试过什么:

我当然通过Google搜索和搜索。到目前为止,我得到的最接近的是使用以下正则表达式:/\((.*?)\)/

它与括号内的数字和字符串匹配。但是我只需要数字。

你能帮我吗?

1 个答案:

答案 0 :(得分:1)

您可以分2个步骤进行操作:

首先,您使用正则表达式(?<=\()([^)]+)(?=\))找到括号的内容,然后使用正则表达式/\D+/g替换所有非数字:并替换""

var text = "4.297 GB (4,613,734,400 bytes)";
var re = /(?<=\()([^)]+)(?=\))/g;
var match;

do {
    match = re.exec(text);
    if (match) {
        console.log(match[1].replace(/\D+/g,""));
    }
} while (match);